Web驱动程序:未定义的名称'driver'



我正在编写一个使用Firefox网络驱动程序的python脚本。但是,在满足条件之前,不应创建浏览器实例。

当测试浏览器是否已经打开时,Spyder的编辑器中有一条消息:未定义的名称"driver"。

如何更改代码以消除该消息?

while True
if time_to_work():
if driver.service.is_connectable():            
do_something()
else:
driver = webdriver.Firefox(profile, options=options)
print('Browser started..')
else:
if driver.service.is_connectable():
print('Closing browser..')        
driver.quit()        

如果没有driver实例,就无法测试driver.service.is_connectable(),因此需要在while True之前声明驱动程序实例。您可以使用在不显示实际浏览器窗口的情况下初始化driver实例

options = Options()
options.headless() = True

并使用初始化驱动程序

driver = webdriver.Firefox(options=options, executable_path=r'[YOUR GECKODRIVER PATH]')

(感谢在这里找到的公认答案(。然后您可以将time_to_work()与其他条件一起检查。

要在第一次通过(延迟加载(时打开浏览器,请将driver初始化为None,然后检查time_to_work中的值

试试这个代码:

driver = None
while True
if time_to_work():
if not driver: # start browser
driver = webdriver.Firefox(profile, options=options)
print('Browser started..')
do_something()
else:
if driver:
print('Closing browser..')        
driver.quit() 
driver = None

相关内容

最新更新