gpt4 book ai didi

python - 使用 Python/Selenium 选择单选按钮

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:59 24 4
gpt4 key购买 nike

已经搜索了之前的一些问题,但无法纠正 - 我对此完全是新手,所以请原谅我的无知...尝试使用页面上的第三个“广播”按钮以下:

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys

import smtplib
import time

date = time.strftime("%d %b %Y" + ", " + "%H:%M%p")
print (time.strftime("%d %b %Y" + ", " + "%H:%M%p"))

driver=webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.water.nsw.gov.au/water-licensing/registers")
driver.implicitly_wait(10)
driver.find_element_by_xpath('// [@id="wizard_tabs"]/div/div[1]/div/ul/li[3]/input').click()

结果是:

"Message: no such element: Unable to locate element: {"method":"xpath","selector":"//[@id="wizard_tabs"]/div/div[1]/div/ul/li[3]/input"}"

曾尝试等待更长时间(500),但没有什么区别。当我“检查”已打开的页面时,xpath 仍然相同。我知道有一个简单的答案,希望互联网传奇人物能够提供帮助!

最佳答案

一些程序要点:

  1. 当您可以对该页面上的唯一元素执行显式等待 (WebdriverWait.until) 时,隐式等待是没有意义的。

  2. 如果网络驱动程序说该元素不存在,那么您正在查找的定位器不存在,至少不在它实际查找的位置。 iframe 可以让您认为您正在寻找一个地方,而实际上网络驱动程序正在寻找另一个地方。

  3. 当您怀疑有问题时,请务必确认浏览器中的定位器。或者只是每次,它都会节省您每次修改时运行脚本、启动浏览器和加载页面所花费的所有时间。转到浏览器的开发工具,单击控制台选项卡,然后输入 $$("css 选择器此处") 或 $x("xpath 这里") 并按 Enter。如果返回一个元素,请单击箭头将其展开并将鼠标悬停在显示的内容上。它是否突出显示页面上所需的元素?只有这样你才能使用一个好的定位器。

  4. 如果开发工具控制台说你的定位器很好,但 python 仍然找不到它 - 即使在 WebdriverWait 之后 - 找到窃取你焦点的 iframe 并使用 webdriver.switch_to(iframe_name) 来窃取你的焦点焦点回到包含您的元素的 iframe。

  5. 练习不太脆弱的 XPATH。它们可以是非常外科手术式的并且可以用最少的努力来阅读。我愿意打赌您的输入有一些我们可以用来直接找到它的东西。如果不是,则层次结构中位于其正上方或正下方的元素可能会这样做。发布您所需元素的 HTML,我们就可以确定。

处理 iframe 问题:

iframe_element = driver.find_element_by_css_selector("iframe[name='name_of_the_iframe']")
driver.switch_to.frame(iframe_element)
# Now find your element

关于python - 使用 Python/Selenium 选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48969578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com