当前位置: 首页 > 知识库问答 >
问题:

如何在xpath[duplicate]中获取元素属性的值

邬友樵
2023-03-14

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

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

除了在以电流结尾的类中,这两个看起来都一样。

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

我试过:

 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

共有1个答案

鲜于喜
2023-03-14

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

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

<代码> 表示类名<代码>

如果您想使用xpath://*[@class='logsss_event_clitemAttr当前']/img就足够了。如果第一个元素的颜色是MULTI,那么您需要名为value的属性,而不是data-value

 类似资料:
  • 问题内容: 我正在Python中使用Selenium。我想获取一个元素的,并检查它是否是我所期望的。 这是我的代码: 我怎样才能做到这一点?Selenium文档似乎有很多关于选择元素的内容,但是与属性无关。 问题答案: 您可能正在寻找。一个例子示此处以及

  • 我正在使用Python中的Selenium。我想获取

  • 我正在尝试创建一个用户可以在浏览器中存储注释的应用程序。 为了弄清楚用户在文档中创建注释的位置,我正在尝试存储所选文本的xpath和偏移量。 我到处搜索过,似乎有很多从xPath字符串中检索元素的示例,但没有很好的从DOM元素中查找xPath的示例。 以下是我尝试过的: 其中getXPathForElement如下所示: 这段代码给出了一个很长的看起来很奇怪的文本,如下所示:(我认为这不是一个真正

  • 问题内容: 第一个和第二个显示的内容只不过是一个空字符串,我认为应该是and 。但是,经过精心设置之后,第三个终于警报了。 但为什么?我如何才能正确检索该属性? 谢谢。 问题答案: 的属性直接映射到 属性,而不是所施加的样式。为此,您需要getComputedStyle。 我会认真考虑切换演示文稿并将其与逻辑完全分开。

  • 我正在使用Selenium(Java版本)测试一个基于OpenLayers的API。 我想测试一个使用的功能。控制修改功能。我想单击绘制的特征(SVG),然后拖动并检查它们是否存在、可见或隐藏。 我已经画了一个多边形,并且选择了它。见下图: 这些SVG元素的HTML如下所示: 假设我想选择红点。 我试过: 但是它总是返回一个空列表。 我做错了什么?有人能帮我吗? 多谢了。 编辑1-功能:垂直显示可

  • 问题内容: 如何获得元素属性值? 例如HTML元素: JS: 非常感谢任何建议,请在此处进行JSFIDDLE演示:http : //jsfiddle.net/h3TFy/ 问题答案: 由于要将目标元素发送到函数,因此可以执行以下操作以获取ID: