【问题标题】:How to get the value of a attribute of an element in xpath [duplicate]如何在xpath中获取元素属性的值[重复]
【发布时间】:2021-08-04 15:33:09
【问题描述】:

我正在尝试获取此代码的颜色和图像:

 <a href="javascript:void(0)" class="logsss_event_cl itemAttr current " title="MULTI" data- 
 value="MULTI" data-logsss-const-value="{'x': 'change_color'}"><img 
 src="https://gloimg.rglcdn.com/rosegal/pdm-product-pic/Clothing/2020/12/24thumb- 
 img/1608776712993433956.jpg?im_scale=h34_1x"></a>

 <a href="javascript:void(0)" class="logsss_event_cl itemAttr  " title="LIGHT PINK" data-value="LIGHT 
 PINK" data-logsss-const-value="{'x': 'change_color'}"><img 
 src="https://gloimg.rglcdn.com/rosegal/pdm-product-pic/Clothing/2021/04/08thumb- 
 img/1617901013166741553.jpg?im_scale=h34_1x"></a>

除了以 current 结尾的类之外,两者看起来都一样。

我的问题是我不知道如何只获取元素的值。

我试过了:

 color1a= driver.find_element_by_xpath('//*[@id="select-attr-0"]/a[1]').text

 color1a= driver.find_element_by_xpath("//*[@class='logsss_event_cl itemAttr 
 current']").get_Attribute("data-value").text

 tumb1= driver.find_element_by_xpath('//*[@id="select-attr-0"]/a[2]/img').text

【问题讨论】:

  • 当你说图像是你要提取的 src 时,颜色是什么意思?

标签: python selenium xpath attributes element


【解决方案1】:

获取链接使用(第一个元素):

link = driver.find_element_by_css_selector(".logsss_event_cl.itemAttr.current>img").get_attribute("src")

第二个链接:

link2 = driver.find_element_by_css_selector(".logsss_event_cl.itemAttr:nth-of-type(2)>img").get_attribute("src")

获取第二个元素的颜色属性:

color = driver.find_element_by_css_selector(".logsss_event_cl.itemAttr:nth-of-type(2)").get_attribute("data-value")

. 用于类名。 &gt; - 直接孩子。它比 xpath 更容易。你不需要使用.text

如果你想使用 xpath://*[@class='logsss_event_cl itemAttr current ']/img 就足够了。 如果第一个元素的颜色是MULTI,则需要名为value 的属性,而不是data-value

【讨论】:

  • 感谢为颜色工作。我如何得到肚子?
  • 不客气。如果问题得到解决,请接受投票。链接呢?我在答案中更改了属性名称。它应该是 src,而不是 img。
  • 检查两个链接的更新答案
  • 很好的解释@vitaliis
  • 感谢您的支持。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
  • 2011-09-03
  • 2012-08-28
  • 2016-09-27
相关资源
最近更新 更多