python - Python EXEC 显示错误:未定义名称
问题描述
我使用 exec 和 selenium 运行如下,
from selenium import webdriver
search_method = 'find_element_by_class_name'
search_word = 'keyword'
exec("elem_search_word = driver." + search_method + "('" + search_word + "')")
elem_search_word.send_keys('python'))
但我得到了错误,我该怎么办?
elem_search_word.send_keys(str(args.search))
NameError: name 'elem_search_word' is not defined
解决方案
我无法重现您的问题,但恕我直言,您应该避免exec()
在这种情况下使用。请尝试以下方法:
search_method = 'class name'
search_word = 'keyword'
elem_search_word = driver.find_element(search_method, search_word)
elem_search_word.send_keys('python')
如果您想通过id
, xpath
, css
... 进行搜索,只需设置search_method
适当的值
或者:
from selenium.webdriver.common.by import By
search_method = By.CLASS_NAME
search_word = 'keyword'
elem_search_word = driver.find_element(search_method, search_word)
elem_search_word.send_keys('python')
推荐阅读
- mongodb - 在 mongoDB 集合中查询、投影和排序文档的多个字段
- vba - SubMatches 函数 VBA 中的运行时错误
- javascript - 如何在返回字符串中获取 Observable 值
- blueprism - 如何使用 BluePrism 将打开的 Excel 工作簿的数据存储在集合中?
- kubernetes - 外部 DNS 跳过记录(未检测到匹配的托管区域)
- c# - 重新启动浏览器后 Chrome 浏览器未传递授权标头
- python - 根据 CSV 文件中的数据在字典中创建字典
- java - 如何在从网页获取报告时修复抛出的 IllegalStateException
- ssh - Ngrok SSH 连接被远程主机关闭
- node.js - 当 props.match.params.id 返回 undefined 但 id 在 url 上可见时,如何获取 url 的 id 参数?