selenium 将现有的持久化配置文件与Selify、Firefox和PYTHON结合使用

bbmckpt7  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(163)

我想自动执行一些Web上的OSINT任务,但我不想每次Selify启动会话时都登录。事实证明,使用持久Cookie获得可靠的解决方案出人意料地困难,但请参阅下面的解决方案。
许多现有的解决方案建议生成FirefoxProfile(),例如

fp = FirefoxProfile()

建议以各种方式将“路径”包含到fp中。然后,fp被包含在Options()对象中,并在启动时传递给webdriver.Firefox()
我尝试了这种方法的许多变体,但我认为这种方法从根本上是有缺陷的,因为fp本身代表一个实际的配置文件,然后您可以将其移交给驱动程序……这不是你需要的,当你想使用一个已经存在的配置文件,其中包含Cookie,让你保持登录。

rryofs0p

rryofs0p1#

有一种特定于Firefox的方法,可以使用set_capability described here将现有的配置文件传递给Web驱动程序。以下是我如何使用它的:

profilepath = '/your/profile/path'
options = Options()
options.set_capability("moz:firefoxOptions", {
    "args":["-profile", profilepath]
})
self.driver = webdriver.Firefox(options=options, service=Service(GeckoDriverManager().install()))

这对我来说很有效,事实证明,对于我所见过的一些黑客攻击,这是一种简单得多的方法。

相关问题