【问题标题】:selenium: @id=contains(., won't work with xpath for radio buttonselenium:@id=contains(., 不适用于单选按钮的 xpath
【发布时间】:2020-08-26 02:03:14
【问题描述】:

我有一个单选按钮列表,每个按钮都用颜色标记。这会选择一个标记为 Red 的单选按钮,第三个选项:

driver.find_element_by_xpath("//tr[@id='600,-2147649943:1107:Red||_tr']//input[@name='doc_type']").click()

我希望能够选择其他条目,例如 BlueGreen。每种颜色的 id 都有一个用于 '600,-2147649943:1107 字段的唯一编号,我需要一个可以将变量文本插入的 xpath 字符串。 所以我试试这个:

driver.find_element_by_xpath("//tr[@id=contains(.,'Red')]//input[@name='doc_type']").click()

这将选择单选列表中的第一个选项,其中不包含字符Red。编译器显示没有错误。

有人知道为什么会这样吗?

【问题讨论】:

  • 你的编译器检测不到这个问题是正常的,因为这是一个合乎逻辑的问题。您的编译器应该捕获系统问题,例如使用不存在的函数名称或其他问题。编译器无法捕捉到我所说的逻辑问题。但谁知道呢。人工智能正在疯狂地运行。说不定以后编译器也会知道你想要什么,然后自己找出来哈哈。希望对我有所帮助。

标签: python html selenium google-chrome xpath


【解决方案1】:

您需要修复您的 XPath(语法错误):

driver.find_element_by_xpath("//tr[contains(@id,'Red')]//input[@name='doc_type']").click()

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 2017-06-05
    • 2013-12-19
    • 2021-04-14
    • 1970-01-01
    • 2018-05-17
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多