python - 未找到 Python 硒元素
问题描述
当未找到元素时应打印:未找到,但出现错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name='q']"}
这是我的脚本,元素“搜索”不存在
import time
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r"C:\Users\SAMSUNG\chromedriver.exe")
driver.get('https://facebook.com')
search = driver.find_element_by_xpath("//input[@name='q']")
time.sleep(15)
if search:
time.sleep(15)
print('found')
driver.find_element_by_xpath("//input[@name='q']").send_keys('test')
else:
print('not found')
pass
不起作用,因为我们不能对元素执行 len(我们只能对带有 s 的元素执行此操作)
解决方案
你不需要len
,也不需要else
块。您可以简单地检查是否loginform
为真/假,即如果loginform
成功识别,那么它将返回真并执行该if
块。
更新为使用 try-except 结构。
from selenium.common.exceptions import NoSuchElementException
try:
time.sleep(3)
search = driver.find_element_by_xpath("//input[@name='q']")
print('found')
time.sleep(3)
search.send_keys('test')
except NoSuchElementException:
print('not found')
pass
推荐阅读
- php - 如何使用相同的密码将 Laravel 用户验证为 wordpress 用户
- javascript - 数组中按字段的项目长度
- node.js - Node.js - Axios - 将文件上传到另一台服务器
- ios - 斯威夫特:我如何录制音频然后反向播放
- oauth - 如何处理我设计的网站上的 disallowed_useragent 错误?
- neo4j - 我的 neo4j 配置是什么?
- javascript - Webhook 似乎不起作用
- dynamic - 动态链接到产品类别
- c# - 在数据网格中显示用户 ID
- javascript - 错误!如何绕过/更改某些语法以缩小流程 - Javascript