硒找不到Angularjs元素-Java

时间:2019-07-16 10:34:38

标签: java angularjs selenium xpath css-selectors

我需要从页面中的特定元素获取文本,并且这些元素仅具有唯一的标签“ 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>

即使位置更改,也可以找到元素。

1 个答案:

答案 0 :(得分:0)

要确定元素,可以使用以下Locator Strategies中的任何一个:

  • cssSelector

    async function f() {
    
      let promise = new Promise((resolve, reject) => {
        setTimeout(() => resolve("done!"), 1000)
      });
    
      let result = await promise; // wait till the promise resolves (*)
    
      alert(result); // "done!"
    }
    
    f();
  • xpath

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