这个 xpath 语句有什么问题?



试图从代码行中获取颜色WHITE。

<a href="javascript:void(0)" class="itemAttr current" title="WHITE" data- 
value="WHITE"><img src="https://gloimg.rglcdn.com/rosegal/pdm-product- 
pic/Clothing/2019/06/05thumb-img/1559762268621192281.jpg"></a>

我试过这个:

color = driver.find_element_by_xpath("""//p[@id="select-attr- 
0"]/a[@href="javascript:void(0)"]@title""").click()

我收到此错误消息:

字符串 '//p[@id="select-attr-0"]/a[@href="javascript:void(0("]@title' 不是 有效的 XPath 表达式。

我想要的是得到"WHITE".

看起来您在@title属性之前缺少一个/。试试这个 xpath:

//p[@id="select-attr-0"]/a[@href="javascript:void(0)"]/@title

为了获取元素的属性值,您需要在"@title"之前放置"/",因此以下内容应该有效(前提是正确寻址父元素p(:

//p[@id="select-attr-0"]/a[@href="javascript:void(0)"]/@title

在使用 XPATH 时,使用一个免费的在线测试器来获得即时路径反馈通常很有用,例如这个

尝试使用以下 xpath 代码段。

/

/p[@id='select-attr- 0']//child::a[@value='WHITE']

最新更新