【问题标题】:Replace xpath element for a shorter one or a CSS selector selenium将 xpath 元素替换为较短的元素或 CSS 选择器 selenium
【发布时间】:2021-02-02 21:08:34
【问题描述】:

我正在使用 Selenium,我想替换 xpath 以获取此列表

  • 元素。

    到目前为止,这个 xpath 有效,但我认为它并不复杂。我认为对于 CSSselector 或更短的 xpath 进行更好的更改,但我无法得到相同的结果。

    谢谢

  • 【问题讨论】:

    • 请将 html 添加为文本而不是屏幕截图

    标签: selenium xpath css-selectors


    【解决方案1】:

    xpath 下可以工作

    "//div[@id='igTreeProjectTree']//li[starts-with(@data-path, '0_0_')]"
    

    因为我认为数据路径在所有元素中都是唯一的

    【讨论】:

      【解决方案2】:

      试试这个 CSS 选择器:

      '#igTreeProjectTree li.ui-igtree-node-nochildren'
      

      【讨论】:

        【解决方案3】:

        对于

        //*[@id='igTreeProjectTree']/ul/li/ul/li/ul/li
        

        等效的 将是:

        #igTreeProjectTree > ul > li > ul > li > ul > li
        

        更规范的Locator Strategy 是:

        #igTreeProjectTree ul[data-depth='2'] > li.ui-igtree-node-nochildren[data-path='0_0_0']
        

        【讨论】:

          猜你喜欢
          • 2021-11-21
          • 2021-12-22
          • 1970-01-01
          • 2020-03-05
          • 1970-01-01
          • 1970-01-01
          • 2014-09-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多