如何检查Selenium Webdriver是否显示了一个类?

时间:2016-05-24 16:09:18

标签: python selenium-webdriver

<td class="base-detail-value"><strong>ORDER DATE: </strong>&nbsp;&nbsp;19-May-2016 17:52:33
    <span class="tooltip">
        <div class="tt-content">
        May 19, 2016 10:52:33 AM PDT
        </div>
    </span>
</td>

我只是想检查一下td class =&#39; base-detail-tooltip&#39;显示在我正在测试的页面上。

我尝试过这样做,但我认为我做错了。

logo = driver.find_element(By.CSS_SELECTOR, 'base-detail-tooltip')
logo.is_displayed()

4 个答案:

答案 0 :(得分:0)

尝试

logo = driver.find_element_by_css_selector('.base-detail-tooltip')

请注意.表示我们正在寻找课程。这就是CSS的工作原理。在您查找<base-detail-tooltip>...</base-detail-tooltip>标记之前。由于您想要的代码是td,因此您也可以使用td.base-detail-tooltip

关于代码的另一个注意事项是定位器(By.CSS_SELECTOR, '.base-detail-tooltip')必须作为元组传递,即(注意双括号):

driver.find_element((By.CSS_SELECTOR, '.base-detail-tooltip'))

答案 1 :(得分:0)

最简单的方法是请注意答案是在java

if(driver.findElement(By.cssSelector(".base-detail-tooltip")).size() > 0){
System.out.println("element is present on page")
}

答案 2 :(得分:0)

您可以简单地使用try / catch块来检查元素是否存在

from selenium.common.exceptions import NoSuchElementException        

try:
    webdriver.find_element_by_xpath(xpath)
except NoSuchElementException:
    return False
return True

答案 3 :(得分:0)

尝试一下,

Boolean actual = driver.FindElement(By.ClassName(classname)).Displayed
Assert.True(actual, "error message");