首页 > 解决方案 > Python Selenium“名称错误:未定义名称'驱动程序'”

问题描述

我尝试运行 webdriver Selenium 并选择

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.select import Select

usernameStr = 'value'
passwordStr = 'value'


browser = webdriver.Chrome()
browser.get(('website'))

# fill in username and hit the next button

username = browser.find_element_by_id('username')
username.send_keys(usernameStr)

nextButton = browser.find_element_by_xpath('value')
nextButton.click()

# wait for transition then continue to fill items

username= WebDriverWait(browser, 2).until(
     EC.presence_of_element_located((By.ID, value')))
username.send_keys(usernameStr)

password = browser.find_element_by_id('value')
password.send_keys(passwordStr)


signInButton = browser.find_element_by_id('submitButton')
signInButton.click()

nextButton = browser.find_element_by_xpath('/html/body/app-root/div[2]/app-nav/div/div[1]/div[2]/div[1]/button')
nextButton.click()


el = driver.find_element_by_id('reason')
for option in el.find_elements_by_value('16'):

问题是我尝试从列表中选择一个值。(直到此时一切都有效):

el = driver.find_element_by_xpath('reason')
for option in el.find_elements_by_value('16'):

错误:

"NameError: name 'driver' is not defined"

我对此很陌生,如果这是一个简单的解决方案,我很抱歉。

标签: pythonseleniumselenium-webdriverwebdrivernameerror

解决方案


此错误消息...

"NameError: name 'driver' is not defined"

...意味着在您的程序中您所指的driver是未在您的程序中定义的。


细节

您已经启动了WebDriver实例,并且browser几乎在整个程序中都引用了它。

但在这条线上:

el = driver.find_element_by_xpath('reason')

您正在尝试引用driver未在程序中定义的实例。因此错误。


解决方案

更改driverbrowser。因此,您的代码行将是:

el = browser.find_element_by_xpath('reason')

推荐阅读