试图将uBlock添加到浏览器会话中,但无法正常工作。
import selenium
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.firefox.options import Options as options
def establish_browser(type, hide):
browser = ''
if type == 'firefox':
ops = options()
ops.add_argument("--headless") if hide is True else ops.add_argument("--head")
profile = selenium.webdriver.FirefoxProfile()
profile.add_extension(extension='uBlock0@raymondhill.net.xpi')
browser = selenium.webdriver.Firefox(firefox_profile=profile, executable_path='geckodriver.exe', options=ops, firefox_binary=FirefoxBinary('C:/Program Files/Mozilla Firefox/firefox.exe'))
return browser
browser = establish_browser('firefox', False)
应该如何更改它以便uBlock起作用?
UPDATE
Chrome版本似乎可以正常工作……
if type == 'chrome':
from selenium.webdriver.chrome.options import Options as options
ops = options()
ops.add_argument("--headless") if hide is True else ops.add_argument("--head")
ops.add_extension("ublock.crx")
browser = selenium.webdriver.Chrome(executable_path='chromedriver.exe', options=ops, desired_capabilities={'binary_location': 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe'})
Firefox贬值了吗?
答案 0 :(得分:0)
由于某种原因,chrome的add_extension
可以工作,但是firefox的add_extension
(当前)不起作用……这是我为firefox添加扩展名的解决方法。
right click windows start button > run > firefox.exe -P
创建新的Firefox配置文件 profile = selenium.webdriver.FirefoxProfile("C:/test")
browser = selenium.webdriver.Firefox(firefox_profile=profile, options=ops)
显然,profile.add_extension()
并不是此解决方法所必需的
更新! -添加了Chrome配置文件
出于对称目的,我更新了chrome示例代码以使用chrome配置文件,而不是直接调用.crx
。
导航到C:\Users\User\AppData\Local\Google\Chrome
或chromes User Data
文件夹所在的位置。直接调用此文件夹(绝对路径)或重命名并调用相对路径。我已将其重命名为chrome_profile
:
ops = options()
ops.add_argument("--headless") if hide is True else ops.add_argument("--head")
ops.add_argument('user-data-dir=chrome_profile')
ops.add_argument('--profile-directory=Default')
ops.add_argument("--incognito")
browser = selenium.webdriver.Chrome(executable_path='chromedriver.exe', options=ops, desired_capabilities={'binary_location': 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe'})