【问题标题】:Angularjs elements not found with selenium - Javaselenium 找不到 Angularjs 元素 - Java
【发布时间】:2019-07-16 18:51:06
【问题描述】:

我需要从页面中的特定元素中获取文本,这些元素只有唯一的标签“ng-bind="$Gadget.customerSegmentation”,并且元素位置可能会根据场景进行更改

我尝试在下面查找元素,但有时它有时不起作用。

@FindBy(xpath = "//div[@ng-bind='$Gadget.customerSegmentation']")
WebElement Customer;

<div class="form_group inline_block" style="width:30%;"> 
  <div class="form_label ng-binding" style="width:30%;">Cust Segmentation:</div> 
   <div class="form_control ng-binding" title="Low" ng-bind="$Gadget.customerSegmentation" style="width:65%;float:right;">Low</div>  
                </div>

即使位置改变也能找到元素。

【问题讨论】:

    标签: java angularjs selenium xpath css-selectors


    【解决方案1】:

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

    • cssSelector

      @FindBy(css  = "div.form_control.ng-binding[title='Low'][ng-bind$='customerSegmentation']")
      WebElement Customer;
      
    • xpath

      @FindBy(xpath = "//div[@class='form_control ng-binding' and @title='Low'][contains(@ng-bind, 'customerSegmentation')]")
      WebElement Customer;
      

    【讨论】:

    • 和我一起工作得很好,但是在删除标题后,因为它会根据场景而变化,谢谢你alooot :)
    猜你喜欢
    • 2019-04-03
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 2021-03-14
    相关资源
    最近更新 更多