簡體   English   中英

Python Selenium “名稱錯誤:未定義名稱‘驅動程序’”

[英]Python Selenium “NameError: name 'driver' is not defined”

我嘗試運行網絡驅動程序 Selenium 和 select

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'):

問題是我嘗試 select 一個列表中的值。 (直到此時一切都有效):

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM