首页 > 解决方案 > 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

标签: pythonseleniumexec

解决方案


我无法重现您的问题,但恕我直言,您应该避免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')

推荐阅读