当前位置: 首页 > 知识库问答 >
问题:

使用Python/Selenium选择单选按钮

韩高峯
2023-03-14

我已经搜索了前面的一些问题,并没有能够纠正--我是一个完全的新手,所以请原谅我的无知...尝试使用以下方法选择页面上的第三个“单选”按钮:

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()

结果是:

“消息:没有此类元素:找不到元素:{”method“:”XPath“,”Selector“:”//[@id=“Wizard_Tabs”]/div/div[1]/div/ul/li[3]/input“}”

共有1个答案

江洲
2023-03-14

几个程序问题:

>

  • 当您只能对页面上的唯一元素执行显式等待(WebDriverWait.Until)时,隐式等待是没有意义的。

    如果webdriver说元素不在那里,那么您要查找的定位器就不在那里,至少不在它实际查找的地方。iframes可以让您认为您在一个地方查找,而实际上webdriver在另一个地方查找。

    当你怀疑有什么东西关闭时,总是在浏览器中确认你的定位器。或者只是每次,它将节省您在每次修补时运行脚本、启动浏览器和加载页面所花费的所有时间。转到浏览器的dev tools,单击console选项卡,键入$$(“CSS html" target="_blank">selector here”)或$X(“XPath here”)并点击Enter。如果返回一个元素,请单击箭头将其展开,并将其悬停在显示的内容上。是否突出显示了页面上所需的元素?然后,也只有在那时,你才会使用一个好的定位器。

    如果dev tools控制台说您的定位器很好,但python仍然找不到它--即使在WebdriverWait之后--找到正在窃取焦点的iframe,并使用webdriver.switch_to(iframe_name)将焦点与元素一起窃取到iframe。

    实践不那么脆弱的XPath。他们可以是相当外科手术和可读性与最小的努力。我愿意打赌你的输入有一些东西,我们可以直接找到它。如果不是,则在层次结构中它的正上方或正下方的元素可能是。发布您想要的元素的HTML,我们就可以确定了。

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

  •  类似资料:
    • 感谢任何帮助!第一次海报和努比编码器:)

    • 问题内容: 我正在尝试从3个按钮的列表中进行选择,但是找不到选择它们的方法。以下是我正在使用的HTML。 我可以使用以下代码找到它: 输出:SRF,COM,MOT 但我想选择ChoiceOne。(单击它)我该怎么做? 问题答案: 使用CSS选择器或XPath 直接按属性选择,然后单击它。 更正(但是OP应该学习如何在文档中查找) 在Python绑定中,它不存在,称为。一个人应该能够查看异常消息并在

    • 此输出:SRF、COM、MOT 但我想选一个。(点击它)我怎么做?

    • 我正在尝试使用selenium和Python单击这个单选按钮。 我有 但它不允许我点击它。我如何使用名称、值或类、值等的组合来点击? 关于如何使用硒,是否有一个很好的信息来源?因为我所发现的大部分是在java上使用的,而我使用的是Python。 编辑:使用XPATH

    • 我是Selenium IDE的新手,在这里需要选择单选按钮的帮助。就我而言,我正在尝试为由单选按钮组成的特定表单生成一个测试用例。当我运行命令以单独选择其中一个单选按钮时,该函数可以工作,但如果我运行整个测试用例,则单选按钮不会被选中并给出找不到Element Id的错误。这是我的html: 我的IDE命令:单击Target: id=ProjectSolutionsProject0。我尝试了ver