如文档所述,您可以使用可选参数调用webdriver.FirefoxProfile()profile_directory来指向浏览器要使用的特定配置文件的目录。我注意到运行此命令花了很长时间,因此当我查看代码时,似乎正在复制指定的配置文件问题是,复制配置文件需要很长时间(大约> 30分钟,没有耐心等待它完成。)
profile_directory
我正在使用用户脚本和selenium的混合为我做一些自动化,因此每次想测试我的代码时都要设置一个新的配置文件会很麻烦。
是更改此行为以编辑firefox_profile.py自身的唯一方法(如果是,执行此操作的最佳方法是什么?)?
firefox_profile.py
按照 GeckoDriver 在 Firefox上 的当前实现,其FirefoxProfile()工作方式如下:
FirefoxProfile()
from selenium import webdriver myprofile = webdriver.FirefoxProfile() driver = webdriver.Firefox(firefox_profile=myprofile, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe') driver.get('https://www.google.co.in') print("Page Title is : %s" %driver.title) driver.quit()
1521446301607 mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\ATECHM~1\\AppData\\Local\\Temp\\rust_mozprofile.xFayqKkZrOB8"
在成功关闭(即成功调用driver.quit())时,粗临时 rust_mozprofile.xFayqKkZrOB8 会被完全删除/销毁。
driver.quit()
再次通过 现有的 Firefox Profile()* 启动 浏览会话的 情况如下: __*
from selenium import webdriver myprofile = webdriver.FirefoxProfile(r'C:\Users\AtechM_03\AppData\Roaming\Mozilla\Firefox\Profiles\moskcpdq.SeleniumTest') driver = webdriver.Firefox(firefox_profile=myprofile, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe') driver.get('https://www.google.co.in') print("Page Title is : %s" %driver.title) driver.quit()
1521447102321 mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\ATECHM~1\\AppData\\Local\\Temp\\rust_mozprofile.2oSwrQwQoby9"
同样,在这种情况下,以及在成功关闭(即成功调用driver.quit())后,临时 rust_mozprofile.2oSwrQwQoby9也会 被完全删除/销毁。
因此,您正在观察的 时间跨度 是 FirefoxProfile() 挖出新的 rust_mozprofile 所需的时间。
也许根据您的问题的时间跨度 来复制配置文件(大约30分钟以上) 纯属开销。因此,如果不复制,就无法使用 Firefox配置文件rust_mozprofile。
rust_mozprofile
@Test