0
我有一个按钮,它被包裹在一个li
元素中,在其他元素加载后5秒出现。我必须点击这个元素,但我无法使用硒访问这个元素。Web元素没有被硒识别
我已经使用了隐式等待,显式等待和流畅的等待。 Selenium仍然无法识别元素,因为它终止于TimeoutException和NoSuchElementException。
在HTML元素:
<li class="wow zoomIn" data-wow-delay="1.0s" data-reactid=".0.0.0.1.5" style="visibility: visible; animation-delay: 1s; animation-name: zoomIn;">
<button class="pip-icon-new" data-role="none" title="PIP" data-reactid=".0.0.0.1.5.0"/>
<span class="mt10 col-xs-12" data-reactid=".0.0.0.1.5.1">PIP</span>
</li>
流利等待:
Wait wait = new FluentWait(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(5, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("button[data-reactid='.0.0.0.1.5.0']")));
显等待:
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='Home-page']/div[1]/ul/li[5]/button")));
myDynamicElement.click();
隐等待:
WebDriverWait wait=new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("span[class='mt10 col-xs-12']")));
我错过了什么吗?
问题可能是你的选择。尝试使用By.cssSelector(“button [title ='PIP']”) – acikojevic
它是否在iframe中? –
@acikojevic也尝试过。它不工作。 – kaushik3993