java - Selenium Java 无法选择 AngularJS 元素

标签 java angular selenium xpath

我研究并尝试了几种不同的方法来识别该元素以进行断言测试。 Xpath 不起作用,ng-model 不起作用。有什么想法吗?

    <input type="text" ng-class="{'ng-dirty': !merchant.name}" ng-
    model="merchant.name" required="" class="ng-pristine ng-valid ng-not-empty 
    ng-valid-required ng-touched" style="">

我到目前为止的代码:

@Test
public static void merchant_name() {
    driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
    WebElement merchant_name = driver.findElement(
                By.xpath("input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']")
            );
    Assert.assertEquals(merchant_name.getAttribute("value"), "Regression Testing");
}

最佳答案

您可以考虑使用以下使用 class 属性的 xpath:

//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']

另一种策略可能是同时使用classtype属性:

//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched' and @type='text']

关于java - Selenium Java 无法选择 AngularJS 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45990390/

相关文章:

javascript - pdfmake - 在 ANGULAR 4 中将 SVG 转换为 image64

javascript - 在 Angular 中显示微调器时禁用整个页面的点击

python - 如何调用python子目录中包含的selenium webdriver测试

java - @FindBy 注解定义的 Webelement 返回空指针

Java:如何将用户定义的属性的值放入数组中?

Angular 5 HttpInterceptor 错误处理首先调用调用者的错误处理

Java使用另一个线程检查线程的状态

python - 使用 Python 在 Selenium 中第二次出现元素后获取 td 的文本

Java:当 GUI 应用程序启动时,保存的首选项设置不会恢复

java - android中的幽灵 Activity