Webdriver - 使用首选项时不能在 Firefox 中使用无头模式



我想通过Selenium无头启动Firefox,但我似乎找不到一种方法来做到这一点并同时保持我的偏好。

from selenium import webdriver;
from selenium.webdriver import Firefox;
cProfile = webdriver.FirefoxProfile();
options = webdriver.FirefoxOptions();
dwnd_path = os.getcwd();
options.add_preference('browser.download.folderList', '2');
options.add_preference('browser.download.manager.showWhenStarting', 'false');
options.add_preference('browser.download.dir', 'dwnd_path');
options.add_preference('browser.helperApps.neverAsk.saveToDisk', 'application/octet-stream,application/vnd.ms-excel');

运行这个,我会得到这个错误:

Traceback (most recent call last):
File "test.py", line 17, in <module>
options.add_preference('browser.download.folderList', '2');
AttributeError: 'Options' object has no attribute 'add_preference'

有什么想法吗?

此错误消息...

AttributeError: 'Options' object has no attribute 'add_preference'

。意味着选项的实例不支持属性add_preference

add_preference仅受FirefoxProfile((实例支持。

您可以找到将add_preference与 Python 中的FirefoxProfile()实例一起使用的详细讨论: 无法在网页中使用硒下载

因此,您的有效代码块将是:

from selenium import webdriver;
from selenium.webdriver.firefox.options import Options
cProfile = webdriver.FirefoxProfile();
dwnd_path = os.getcwd();
cProfile.add_preference('browser.download.folderList', '2');
cProfile.add_preference('browser.download.manager.showWhenStarting', 'false');
cProfile.add_preference('browser.download.dir', 'dwnd_path');
cProfile.add_preference('browser.helperApps.neverAsk.saveToDisk', 'application/octet-stream,application/vnd.ms-excel');
options = Options()
options.headless = True
driver = webdriver.Firefox(firefox_profile=cProfile, firefox_options=options, executable_path=r'C:pathtogeckodriver.exe')
<小时 />

参考

您可以在如何使用Options()headlesspython 在 Selenium 中以编程方式使 Firefox 无头

相关内容

  • 没有找到相关文章