关闭窗口后页面无法点击
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程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。