首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在Python (Selenium)中这不是一个有效的xpath?

为什么在Python (Selenium)中这不是一个有效的xpath?
EN

Stack Overflow用户
提问于 2022-10-08 18:10:15
回答 2查看 43关注 0票数 0

在Python (Spyder/Anaconda)中,我有:

代码语言:javascript
运行
复制
ExcelIconXpath = "//*[contains(@id='pagePane0_divBlock0_')]"

ExcelIcon = driver.find_element(by=By.XPATH, value=ExcelIconXpath)

我得到以下错误消息:

由于以下错误,无法找到带有xpath表达式//*

(@id=‘pagePane0_divBlock0_’)的元素: SyntaxError:未能在“文档”上执行“计算”:字符串XPath不是有效的XPath表达式。

EN

回答 2

Stack Overflow用户

发布于 2022-10-08 22:05:05

这不是一个很好的错误信息,对吗?表达式不正确,因为contains()函数需要两个参数,而且只提供了一个参数。您提供的值是相等比较的结果。

@id='pagePane0_divBlock0_'

这是一个布尔值;将布尔值作为contains()的输入是没有任何意义的。

您需要决定是否要进行相等比较或子字符串(包含)比较,然后使用其中一个或另一个,而不是将它们混合在一起。

票数 1
EN

Stack Overflow用户

发布于 2022-10-08 18:32:20

正确的xpath表达式是

代码语言:javascript
运行
复制
"//*[contains(@id, 'pagePane0_divBlock0_')]"

下面是xpath的一个很好的介绍:https://www.w3schools.com/xml/xpath_intro.asp

当然,如果您没有等待该元素加载/可点击,则可能还会遇到其他问题(超出原来问题的范围)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73999409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档