如何使用 Selenium 和 Java 单击 li 项目?

How can I click on the li Item using Selenium and Java?

如何 select 列出像这样嵌套的项目:

<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>

因为每个列表项仅与其具有的文本不同。

To click() 在文本为 Risk 的元素上,您可以使用以下任一项 :

  • 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() 您需要为 elementToBeClickable() 引入 并且您可以使用以下任一项 :

  • 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();