【问题标题】: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之一:
但是,由于元素是动态元素,因此要在元素上使用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();