此xpath语句有什么问题?

时间:2019-08-13 20:00:58

标签: xpath

试图从代码行中获得白色。

<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"

3 个答案:

答案 0 :(得分:2)

似乎您在/属性之前缺少@title。尝试使用此xpath:

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

答案 1 :(得分:1)

get an attribute value of an element,您需要在'@title'之前放置'/',因此以下内容应该有效(前提是正确地解决了父元素 p ):< / p>

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

使用XPATH时,通常使用免费的在线测试人员之一来获取即时路径反馈,例如this one

答案 2 :(得分:0)

尝试使用下面的xpath代码段。

  

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