Python Selenium Firefox webdriver赢得';更改Firefox首选项后,请不要加载空白页

Python Selenium Firefox webdriver赢得';更改Firefox首选项后,请不要加载空白页,python,firefox,selenium,selenium-webdriver,Python,Firefox,Selenium,Selenium Webdriver,各位 主要问题:我正在使用Selenium 2的Python API,希望在空白页面上启动Firefox浏览器(即,在浏览器启动时不发送任何请求)。我创建了FirefoxProfile对象,并将“browser.startup.page”更改为0。第一次使用此配置文件创建webdriver时,它会转到mozilla.org,但后续webdriver会像我预期的那样从空白页开始。为什么会发生这种情况?我如何修复它 第二个问题:当我在解释器中逐行输入代码时,下面的代码工作正常,但当我尝试将其作为脚本

各位

主要问题:我正在使用Selenium 2的Python API,希望在空白页面上启动Firefox浏览器(即,在浏览器启动时不发送任何请求)。我创建了FirefoxProfile对象,并将“browser.startup.page”更改为0。第一次使用此配置文件创建webdriver时,它会转到mozilla.org,但后续webdriver会像我预期的那样从空白页开始。为什么会发生这种情况?我如何修复它

第二个问题:当我在解释器中逐行输入代码时,下面的代码工作正常,但当我尝试将其作为脚本运行时,代码崩溃。我收到一个WebDriverException:“无法加载配置文件。配置文件目录:%s如果您在FirefoxBinary构造函数中指定了日志文件,请查看它的详细信息。”我还收到一个弹出窗口,显示“无法加载您的Firefox配置文件。它可能丢失或无法访问。”。如何修复此问题,使其作为脚本运行

from selenium import webdriver

profile = webdriver.FirefoxProfile()
# Tell the browser to start on a blank page
profile.set_preference('browser.startup.page', 0)

# Start first session (doesn't work)
driver1 = webdriver.Firefox(profile)
driver1.close()
# Start second session (this works)
driver2 = webdriver.Firefox(profile)
webdriver实例的默认设置为“browser.startup.page”=0。适合我的设置()

不使用配置文件的一行程序解决方法是在启动Firefox实例后加载空页面:

driver = webdriver.Firefox()    
driver.get("about:blank")

哦,我忘记了第二部分:在脚本中运行代码时出现的错误消息是,当您使用相同的配置文件启动新的Firefox实例时,旧的Firefox实例仍在运行。关闭旧的浏览器窗口需要一些时间。如果在示例的最后一行之前添加5秒的睡眠时间,那么它也可以通过脚本工作


很难理解为什么在我的两台机器上都没有这个功能。原因:Iceweasel和LinuxMint的Firefox没有显示更新页面


顺便说一句:很好的发现,启动下一个Firefox实例将起作用。

回答得很好。这节省了我很多时间。谢谢
driver = webdriver.Firefox()    
driver.get("about:blank")