【问题标题】:How to find an xpath of element?如何找到元素的xpath?
【发布时间】:2021-04-14 06:35:04
【问题描述】:

我正在尝试找到svg 旁边的xpath

"//label[@class='btn btn-light p-1']/input[@value='star']

https://9qrcode.com/#link 然后选择设计

【问题讨论】:

  • “然后选择设计”是什么意思?
  • 另外,//label[@class='btn btn-light p-1']/input[@value='star'] 不是唯一的定位符
  • 当你打开网站然后点击设计按钮,你会发现图案,标记边框,标记中心,然后查看页面源,你会看到上面的div,标签和输入

标签: selenium rselenium


【解决方案1】:

我讨厌做这样的 xpath,因为我同意 Eliyahu 的观点 - 这种 xpath 不会是独一无二的......但是既然你问了,那就去吧,这应该适合你:

//input[@value = 'star']/parent::label[contains(@class, 'btn-light')]/preceding-sibling::label[contains(@class, 'btn-light')]/*[name() = 'svg']

【讨论】:

    【解决方案2】:

    你可以使用这个xpath -

    (//label[contains(@class,"btn btn-light")]/*[local-name() = 'svg'])[2]
    

    您可以将您的元素编号替换为 [2]。

    【讨论】:

    • 我们可以将 xpath 与 input[@value='star'] 关联起来吗????即我不想使用[2],因为可能位置会改变
    【解决方案3】:
    //input[@value='star']/preceding::label[@class='btn btn-light p-1'][1]
    

    这将在 star 的值之前获取前面的元素,因为它不是唯一的,所以会给出两个值。

    【讨论】:

      猜你喜欢
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      相关资源
      最近更新 更多