通过条件来检查css选择器是否存在

时间:2018-07-08 10:01:32

标签: python-2.7 selenium

我正在编写一个代码,以自动执行网站的登录和测试过程。它从变量获取登录凭据,并检查登录是否成功。为此,我试图找到“注销图标”标签并相应地打印结果。下面是我的代码:

if browser.find_element_by_css_selector('.signOut.logout-icon'):
    print "Sign In Succesful"
elif browser.find_element_by_css_selector('.msg.ux-error '):
    print "Sign In Error"
else:
    print "Other issues"

但是,上面的代码给了我以下错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".signOut.logout-icon"}

我知道无法始终找到“注销”图标,这就是为什么我给出了更多其他条件的原因。为什么在没有CSS选择器的情况下不进入下一个条件,而是抛出一个错误?

1 个答案:

答案 0 :(得分:1)

您应该使用 is_dispalyed()来检查该元素是否存在。

尝试以下代码:-

  if browser.find_element_by_css_selector('.signOut.logout-icon').is_displayed()
        print "Sign In Succesful"
    elif browser.find_element_by_css_selector('.msg.ux-error ').is_displayed():
        print "Sign In Error"
    else:
        print "Other issues"

或尝试以下代码:

try:
    if browser.find_element_by_css_selector('.signOut.logout-icon').is_displayed():
          print "Sign In Succesful"

except NoSuchElementException::
    if browser.find_element_by_css_selector('.msg.ux-error ').is_displayed():
            print "Sign In Error"
except :
print:"other issue"