selenium webdriver - 重定向页面时无法找到该元素

时间:2015-08-27 14:18:55

标签: selenium-webdriver

我点击登录时有应用程序重定向到另一个页面,我试图在重定向页面上的元素完全加载后仍然出现异常

org.openqa.selenium.NoSuchElementException:没有这样的元素

尝试使用id,Css点击元素但遇到同样的问题。

driver.findelement(By.id("abc")).click();

(重定向之前。此点击功能会将页面重定向到其他网站)

然后尝试点击重定向的页面

driver.findElement(By.id("contentLink_1_HeaderStoreLogo_Content")).click();

然后找不到这样的元素。

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的问题,下面的文章帮助我解决了这个问题。 https://chercher.tech/python/windows-selenium-python

解决方案: 我已经使用'current_window_handle','window_handles'来解决它,请按照以下步骤操作:

  • 使用current_window_handle方法,这会为您提供一个GU
    ID(全局唯一标识符)。

    • parentWindow = driver.current_window_handle
  • 稍后单击按钮并重定向到新窗口时使用 current_window_handle并将其存储在变量中

    • childWindow = driver.current_window_handle
  • 现在,收集所有GU ID,以便从当前子窗口的GU ID中过滤父对象。

    • allWindows = driver.window_handles

现在,我使用了for循环遍历所有GU ID并过滤子GU ID。

for n in allWindows:
    if(parentWindow != n):
        driver.switch_to_window(n)
        break;

祝你好运!