Python EXEC show error: имя не определено - PullRequest
0 голосов
/ 03 сентября 2018

Я использовал exec с селеном для запуска, как показано ниже,

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

1 Ответ

0 голосов
/ 03 сентября 2018

Я не могу воспроизвести вашу проблему, но ИМХО вам следует избегать использования 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...