【问题标题】:How can I click on the li Item using Selenium and Java?如何使用 Selenium 和 Java 单击 li 项?
【发布时间】:2021-04-03 17:12:55
【问题描述】:

如何选择像这样嵌套的列表项:

<li class="select2-results-dept-0 select2-result select2-result-selectable" role="presentation">
<div class="select2-result-label" id="select2-result-label-36" role="option"><span class="select2-`match"></span>
Risk
</div>
</li>

因为每个列表项仅与其拥有的 Text 不同。

【问题讨论】:

    标签: java selenium selenium-webdriver xpath webdriverwait


    【解决方案1】:

    click()元素上的文本为风险,您可以使用以下Locator Strategies之一:

    • xpath:

      driver.findElement(By.xpath("//li[@class='select2-results-dept-0 select2-result select2-result-selectable']/div[@class='select2-result-label' and contains(., 'Risk')]")).click();
      

    但是,由于元素是动态元素,因此要在元素上使用click(),您需要将WebDriverWait 诱导为elementToBeClickable(),并且可以使用以下Locator Strategies 之一:

    • xpath:

      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//li[@class='select2-results-dept-0 select2-result select2-result-selectable']/div[@class='select2-result-label' and contains(., 'Risk')]"))).click();
      

    【讨论】:

      猜你喜欢
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      相关资源
      最近更新 更多