硒-无法将浏览器扩展添加到Firefox配置文件

硬盘

我想用硒来刮掉一些网站。我无法通过自己的Internet连接访问该网站,因此需要使用browserc mozilla插件。

在启用了附加组件的情况下,我无法使用硒启动Firefox。这是我尝试过的:

import selenium
from selenium import webdriver

url = "http://url"
profile = webdriver.FirefoxProfile()
profile.add_extension('[email protected]')
#profile.add_extension("C:\Users\urs\AppData\Roaming\Mozilla\Firefox\Profiles\abc.default\extensions\[email protected]")
driver = webdriver.Firefox(firefox_profile=profile)

if __name__ == "__main__":
   driver.get(url)
   driver.wait(5)
   driver.quit()

我尝试将扩展名放在脚本所在的目录中,并使用以下命令

profile.add_extension('[email protected]')

这在运行时给我这个错误:

追溯(最近一次通话):文件“ C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py”,第346行,在_addon_details中带有open(os.path.join(addon_path,'install .rdf'),'r')作为f:FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:\ Users \ Usr \ AppD ata \ Local \ Temp \ [email protected] \ install .rdf'

在处理上述异常期间,发生了另一个异常:

追溯(最近一次通话):profile.add_extension(“ [email protected]”)中文件“ test.py”,第7行,文件“ C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py“,第95行,在add_extension self._install_extension(扩展名)文件” C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py“,行274,在_install_extension中addon_details = self ._addon_details(addon)文件“ C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py”,第351行,在_addon_details中引发AddonFormatError(str(e),sys.exc_info()[2] )selenium.webdriver.firefox.firefox_profile.AddonFormatError:(“ [Errno 2]没有这样的文件或目录:'C:\\ Users \\ Usr \\ AppData \\ Local \\ Temp \\ tmp0hn y31u3.browsec@browsec。 com.xpi \\ install.rdf'“,)

我也尝试给出扩展的路径:

profile.add_extension("C:\Users\urs\AppData\Roaming\Mozilla\Firefox\Profiles\abc.default\extensions\[email protected]")

我遇到了这个错误:

profile.add_extension(“ C:\ Users \ Hassan \ AppData \ Roaming \ Mozilla \ Firefox \ Profi les \ n5jwlj9l.default \ extensions \ [email protected]”)^ SyntaxError:(unicode错误)'unicodeescape'编解码器可以在positio n 2-3中解码字节:截断的\ UXXXXXXXX转义

像下面这样格式化路径字符串也无济于事。

profile.add_extension(r"C:\Users\urs\AppData\Roaming\Mozilla\Firefox\Profiles\abc.default\extensions\[email protected]")

我得到以下内容:

追溯(最近一次通话):profile.add_extension(r“ C:\ Users \ Hassan \ AppData \ Roaming \ Mozilla \ Firefox \ Prof iles \ n5jwlj9l.default \ extensions \ browsec的文件“ test.py”,第7行@ browsec.com.xpi“)文件” C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py“,第95行,位于add_extension self._install_extension(extension)文件” C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py“,第274行,在_install_extension中addon_details = self._addon_details(addon)文件” C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_profile .py“,第351行,在_addon_details中引发AddonFormatError(str(e),sys.exc_info()[2])selenium.webdriver.firefox.firefox_profile.AddonFormatError:(” [Errno 2]没有这样的文件或目录:'C :\\ Users \\ usr \\ AppData \\ Local \\ Temp \\ tmp1he [email protected] \\ install.rdf'“,)

如何配置selenium以在默认情况下启用浏览器的情况下运行Firefox?

曼维

您可以尝试在Firefox浏览器上创建配置文件,例如-在Windows上运行->输入

"firefox.exe -P" 

它将打开配置文件管理器。创建新的配置文件。从该配置文件启动firefox,添加插件。并使用与代码相同的配置文件。有时它对我有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章