python-2.7 - 通过 if 条件检查 css 选择器的存在
问题描述
我正在编写一个代码来自动化网站的登录和测试过程。它从变量中获取登录凭据并检查登录是否成功。为此,我试图找到一个 Log Out Icon 标签并相应地打印结果。下面是我的代码:
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 选择器的情况下它不会进入下一个条件而是给我一个错误?
解决方案
您应该使用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"
推荐阅读
- django - 无法在 CentOS 7 上安装 Bitnami Django Stack
- sql - 语法错误;访问 SQL Server 的 VBA 函数
- swift - 从 XCUITest 中的 URLSession 获取输出
- javascript - 如何访问 apos.define 中的选项?
- reactjs - Reactjs Select v2 - 如何处理 Ajax 打字?
- javascript - POST Discord 消息嵌入
- php - 已打开/已完成工单相对于总工单的进度条
- ruby-on-rails - 编写 RSpec 测试以在端口 3000 上访问另一个 Rails 应用程序
- android - 在 gradle 中包含播放服务时,所有 com.android.libraries 支持必须使用相同的版本
- c++ - 使用 ifstream 无法打开文本文件