如何在 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')]")));