关闭窗口后页面无法点击

Posted

技术标签:

【中文标题】关闭窗口后页面无法点击【英文标题】:Page is unclickable after closing a window 【发布时间】:2021-07-18 07:44:12 【问题描述】:

我在 selenium 中的流程如下:

    访问网页 点击标签 单击将打开窗口的选项卡中的添加按钮 关闭那个窗口 再次点击同一个标签

我能够毫无问题地完成步骤 1 到 4,但是在步骤 5 中我无法单击选项卡元素,因为我知道我在步骤 2 中单击了同一个选项卡,我确实从控制台进行了检查,并且相同我在第 2 步中使用的 xpath 没有返回任何元素,但是当我单击该元素以在控制台中检查它时,它开始在控制台中返回一些值,但当我继续运行时(在调试中)仍然无法从 selenium 工作 我的页面位于 iframe 中,在第 4 步之后我能够成功访问并打印页面标题,但我的问题仍然存在,为什么在关闭窗口并刷新屏幕后我无法从 selenium 中单击该选项卡,为什么元素不再响应? 在做了一些研究后,我还尝试了以下脚本:

WebElement element=driver.findElement(By.xpath(the_path));
javascriptExecutor  ex=(JavascriptExecutor)driver;
ex.executeScript("arguments[0].click()", element);

但它会在第一行失败,因为该元素没有找到,尝试在代码的早期初始化它,但它会在第 3 行失败。 我该如何解决这个问题?

【问题讨论】:

在第4步关闭窗口后,是不是又切换回主窗口了? 【参考方案1】:

尝试使用 Selenium 代码点击元素,而不是通过将 JavaScript 注入页面。这应该可以解决您的问题。

WebElement element = driver.findElement(By.xpath(the_path));
element.click();

【讨论】:

【参考方案2】:

问题是由于主页中有多个 iframe,因此在关闭切换窗口时,我没有被重定向到正确的 iframe,我在单击选项卡时处于第 3 步。

【讨论】:

以上是关于关闭窗口后页面无法点击的主要内容,如果未能解决你的问题,请参考以下文章

子窗口关闭,父窗口如何刷新

如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口?

如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。

WPF中,怎样设置点击按钮关闭当前窗口

怎么点击确定按钮关闭当前窗口,并返回父页面,并且父页面刷新。

更改页面后关闭标签窗口浏览器