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

我在 selenium 中的流程如下:

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

我能够毫无问题地完成步骤 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步关闭窗口后,是不是又切换回主窗口了?

标签: java html selenium selenium-webdriver


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-12-23
      • 1970-01-01
      • 2012-01-06
      • 2019-06-30
      • 2012-06-28
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 2017-09-04
      相关资源
      最近更新 更多