python - 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"
我对此很陌生,如果这是一个简单的解决方案,我很抱歉。
解决方案
此错误消息...
"NameError: name 'driver' is not defined"
...意味着在您的程序中您所指的driver
是未在您的程序中定义的。
细节
您已经启动了WebDriver实例,并且browser
几乎在整个程序中都引用了它。
但在这条线上:
el = driver.find_element_by_xpath('reason')
您正在尝试引用driver
未在程序中定义的实例。因此错误。
解决方案
更改driver
为browser
。因此,您的代码行将是:
el = browser.find_element_by_xpath('reason')
推荐阅读
- python - 使用 Flask Web 和 opencv 进行 IP 摄像机流式传输的问题
- excel - 在运行时刷新 Ms 访问中的链接 Excel 文件路径
- c# - 尝试将字符串格式 (dd-mm-yyyy hh:mm:ss) 转换为 (yyyy-mm-dd hh:mm:ss) 日期格式
- python - FMUException: 未能设置实验
- javascript - 我应该绑定内置的 React 方法吗?
- wso2 - WSO2IS - 将验证码添加到密码重置流程
- qt - 如何通过 DEFINE 在 qt .pro 文件中添加路径
- apache-spark - Dataproc Spark Job 崩溃后无法找到 JVM 致命错误日志文件 (hs_err_pid.log)
- reactjs - 反应钩子。无法对未安装的组件执行 React 状态更新
- java - 如何清理 Java 飞行记录