繁体   English   中英

Selenium 在页面中找不到元素

[英]Selenium can't find element in page

我有一段代码可以在 Google 上进行搜索,点击将其发送到登录页面(Google)的内容。 然后我希望用户手动完成“登录”过程,完成后代码应该自动继续。 然而,在手动干预之后,它只是拒绝在页面上找到任何东西。 可能是 Google 限制了我可以与之交互的内容,或者我的代码存在问题。

这是我的代码:

    driver.get(i) #i is  "https://www.google.com/search?q=Albert+%26+Victoria+Hotel%2C+Southport"
    sleep(2)
    try:
        driver.find_element(By.ID, "L2AGLb").click()
    except:
        pass
    sleep(2)
    driver.find_element(By.CSS_SELECTOR, "[jsaction='CnOdef']").click()
    sleep(2)
    driver.find_element(By.CSS_SELECTOR, "[jsaction='lQuKqf']").click()
    sleep(30) # this is where i expect the user to manually sign in
    if selected.get() == "website": #predefined
        field = driver.find_element(By.XPATH, "/html/body/div/c-wiz/div/div/div/div[4]")

Selenium 是否不允许用户干预,还是谷歌阻止了它或其他什么?

我相信 Selenium 可能没有注册弹出窗口,这是我试图与之交互的元素,因为它会在几秒钟后出现。

先感谢您。

Selenium Webdriver 不适用于用户交互。 但是,我确信可以创建一个提示来暂停脚本并使用输入。 其目的是用于自动化测试。 我们的想法是提前准备好您的测试数据。

如果您正在寻找一种更简单的方法来生成 Webdriver 脚本,您可以使用 Selenium IDE 或 Katalon Recorder 等浏览器插件之一,然后将生成的测试用例导出为脚本。 这些工具中的任何一个都非常擅长找到在 DOM 中定位元素并生成模板以作为脚本基础的最佳方法。

并将登录过程添加到您的脚本中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM