【问题标题】:XPath is correct but doesn't find the web elementXPath 正确,但找不到 Web 元素
【发布时间】:2019-08-07 03:03:40
【问题描述】:

我是 Python 和编码的新手。我试图在browser.find_element_by_xpath() 中以外部值的形式传递一个XPath。我在浏览器控制台中使用了 XPath,它是正确的,我还在各个地方使用了time.sleep() 来加载网页,但我得到了一个错误。我的问题,是否甚至可以使用此代码找到元素?

a=input()
b = a.split(",")

for i in range(len(b)):

    c = ("""'//a[@title="{}"]'""".format(b[i]));time.sleep(1)
    print(c)
    print(type(c))
    act1 = browser.find_element_by_xpath(c)

错误信息:

FLQV-7734

'//a[@title="FFLQV-7734"]'

selenium.common.exceptions.InvalidSelectorException:消息:无效 选择器:无法使用 xpath 表达式定位元素 '//a[@title="FFLQV-7734"]' 因为以下错误:TypeError: 无法对“文档”执行“评估”:结果不是节点 设置,因此无法转换为所需的类型。 (会议 信息:chrome=72.0.3626.81)(驱动程序信息:chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),平台=Windows NT 10.0.14393 x86_64)

【问题讨论】:

  • 请附上代码和您正在尝试的网页。
  • 其他人无法访问网页,这只是个问题
  • @CapsaCk 该网页可能无法访问,但您至少可以复制一个 html 的摘录吗?
  • 页面上的标记似乎无关紧要。从异常来看,XPath 无效。

标签: python selenium xpath


【解决方案1】:

异常告诉您 XPath 无效。我怀疑这是您的 xpath 周围的额外单引号:

"""'//a[@title="{}"]'"""
   ^                ^

这应该可行:

"""//a[@title="{}"]"""

制作最后一行代码:

c = ("""//a[@title="{}"]""".format(b[i]));time.sleep(1)

// 之前和] 字符之后没有单引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多