【问题标题】:How to identify elements classname containing special characters using Selenium and VBA如何使用 Selenium 和 VBA 识别包含特殊字符的元素类名
【发布时间】:2021-05-18 16:18:31
【问题描述】:

我正在尝试更多地了解 Selenium 如何与 VBA 一起工作,并且我正在尝试对当今电子商务的趋势行为做一些事情。

在这种情况下,我不知道 FindelementByclass 内部有 _- 等特殊字符时如何工作,因为它总是给我空结果,我需要识别它,因为我想通过每个类都称为它。

<span class="minificha__sku ng-binding">Cód TG: AS0-322</span>

【问题讨论】:

    标签: vba selenium xpath css-selectors classname


    【解决方案1】:

    要识别元素,您可以使用以下任一Locator Strategies

    • 使用 FindElementByClassName 我:

      bot.FindElementByClassName("minificha__sku")
      
    • 使用FindElementByClassName II:

      bot.FindElementByClassName("ng-binding")
      
    • 使用FindElementByCss

      bot.FindElementByCss("span.minificha__sku.ng-binding")
      
    • 使用FindElementByXPath

      bot.FindElementByXPath("//span[@class='minificha__sku ng-binding']")
      

    【讨论】:

      【解决方案2】:

      类中的空格表示它有两个类,

      class="minificha__sku ng-binding"

      意味着它有 "minificha__sku" 和 "ng-binding" ,所以使用 xpath 或 css 而不是 byclass 或使用两个类中的一个而不是两个

      css:

      span[class="minificha__sku ng-binding"]
      

      xpath

      //span[@class="minificha__sku ng-binding"]
      

      【讨论】:

      • 我明白,但它不适用于我需要做的事情,或者我猜这就是导致我的脚本出现问题的原因,你能给我一个使用 css 的例子吗?
      • 您的 css 模式是错误的,因为复合类需要用“.”连接。即 minificha__sku.ng-binding 除非您打算在其中插入后代组合器并查找子节点?
      • 我不明白
      猜你喜欢
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      相关资源
      最近更新 更多