我正在编写一个代码,以自动执行网站的登录和测试过程。它从变量获取登录凭据,并检查登录是否成功。为此,我试图找到“注销图标”标签并相应地打印结果。下面是我的代码:
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选择器的情况下不进入下一个条件,而是抛出一个错误?
答案 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"