gpt4 book ai didi

python - Webdriver - 使用首选项时无法在 Firefox 中使用 headless 模式

转载 作者:太空宇宙 更新时间:2023-11-04 04:29:44 27 4
gpt4 key购买 nike

我想通过 Selenium headless 地启动 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'

...暗示 Options 的实例不支持属性 add_preference

add_preference 仅由 FirefoxProfile() 实例支持。

您可以在 Python: Unable to download with selenium in webpage 中找到有关将 add_preferenceFirefoxProfile() 实例一起使用的详细讨论。

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

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:\path\to\geckodriver.exe')

引用

您可以在 How to make firefox headless programatically in Selenium with python? 中找到有关如何通过 Options() 类实例使用 headless 参数的详细讨论。

关于python - Webdriver - 使用首选项时无法在 Firefox 中使用 headless 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52897040/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com