【问题标题】:Selenium Webdriver angular.js buttonSelenium Webdriver angular.js 按钮
【发布时间】:2018-10-04 08:01:29
【问题描述】:

我有我想在 Selenium webdriver 中运行的代码。它是一个按钮,但我无法使用 java 代码选择它。你能帮我看看哪个是真的吗?

<mat-list-item _ngcontent-c7="" class="menu-item mat-list-item ng-star-inserted" id="kisiler"><div class="mat-list-item-content"><div class="mat-list-item-ripple mat-ripple" mat-ripple=""></div><div class="mat-list-text"></div>
          <!----><mat-icon _ngcontent-c7="" class="mat-icon material-icons ng-star-inserted" role="img" aria-hidden="true">group</mat-icon>
          <!---->
          <!----><mat-label _ngcontent-c7="" class="ng-star-inserted">Kişiler</mat-label>
        </div></mat-list-item>

我的代码是:

driver.findElement(By.id("[@id='kisiler']")).click();

【问题讨论】:

  • 更正您的代码driver.findElement(By.id("kisiler")).click();
  • 它不起作用@NarendraR,异常是线程“main”中的异常 org.openqa.selenium.ElementClickInterceptedException: Element 在点 (94.5,144) 不可点击,因为另一个元素
    遮住了它

标签: angularjs selenium selenium-webdriver webdriver webdriverwait


【解决方案1】:

要点击文本为 Kisiler 的元素,您需要诱导 WebDriverWait 以使 元素可点击,您可以使用以下命令解决方案:

  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//mat-list-item[@class='menu-item mat-list-item ng-star-inserted' and @id='kisiler']//mat-label[@class='ng-star-inserted']"))).click();
    

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 2020-09-04
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 2016-01-30
    相关资源
    最近更新 更多