如何在 Selenium 中找到此元素(要按下的页面上的按钮)?
How do I find this element in Selenium (button on page to press)?
我正在尝试按网页上的 "grid" class 按钮,但我遇到了问题。这是 HTML:
<li id="prodlist" class="prodtab">
<span> Products</span>
<div class="grid" onclick="goToView('productGrid');"></div>
<div class="list" onclick="goToView('productList')"></div>
</li>
这是我尝试过的,但它给出了 org.openqa.selenium.NoSuchElementException:
driver.findElement(By.xpath("div[contains(@class, 'grid')]")).click();
此类问题的解决方案通常是切换到 iframe,如果元素在其中:
WebElement frame = driver.findElement(by.cssSelector("iframe.ajaxStoreNumberAppendSrc"));
driver.switchTo().frame(frame);
// then, search for element
driver.findElement(By.xpath("//div[contains(@class, 'grid')]")).click();
或者,进行 显式等待 以等待元素出现:
WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(@class, 'grid')]")));
我正在尝试按网页上的 "grid" class 按钮,但我遇到了问题。这是 HTML:
<li id="prodlist" class="prodtab">
<span> Products</span>
<div class="grid" onclick="goToView('productGrid');"></div>
<div class="list" onclick="goToView('productList')"></div>
</li>
这是我尝试过的,但它给出了 org.openqa.selenium.NoSuchElementException:
driver.findElement(By.xpath("div[contains(@class, 'grid')]")).click();
此类问题的解决方案通常是切换到 iframe,如果元素在其中:
WebElement frame = driver.findElement(by.cssSelector("iframe.ajaxStoreNumberAppendSrc"));
driver.switchTo().frame(frame);
// then, search for element
driver.findElement(By.xpath("//div[contains(@class, 'grid')]")).click();
或者,进行 显式等待 以等待元素出现:
WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(@class, 'grid')]")));