无法加载自定义配置文件python - selenium

时间:2012-08-02 13:27:08

标签: python selenium selenium-rc

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2);
fp.set_preference("browser.download.manager.showWhenStarting", False);
fp.set_preference("browser.download.dir", self.download_dir);
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv");
self.browser = webdriver.Remote("http://192.168.1.242:4444/wd/hub", 
                                     desired_capabilities=webdriver.DesiredCapabilities.FIREFOX,
                                    browser_profile=fp
                                    )

上述代码不尊重指定的配置文件。

但是以下代码正常工作

fp = webdriver.FirefoxProfile()
    fp.set_preference("browser.download.folderList", 2);
    fp.set_preference("browser.download.manager.showWhenStarting", False);
    fp.set_preference("browser.download.dir", self.download_dir);
    fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv");
    self.browser = webdriver.Firefox(fp)

在seleniums文档页面http://seleniumhq.org/docs/04_webdriver_advanced.html#remotewebdriver 有以下例子:

from selenium import webdriver
fp = webdriver.FirefoxProfile()
# set something on the profile...
driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.FIREFOX,    browser_profile=fp)

与我的示例中的代码相同。 此外,当我使用-firefoxProfileTemplate启动selenium服务器时,它似乎忽略了配置文件的设置

java -jar ./selenium-server-standalone-2.25.0.jar -firefoxProfileTemplate  /home/xubuntu/.mozilla/firefox/fdui6lsj.crawler/

修改

我还想提一下,如果我从文件加载配置文件:

fp = webdriver.FirefoxProfile('/home/xubuntu/.mozilla/firefox/fdui6lsj.crawler/')

self.browser = webdriver.Remote("http://192.168.1.242:4444/wd/hub", 
                                 desired_capabilities=webdriver.DesiredCapabilities.FIREFOX,
                                browser_profile=fp
                                )

配置文件已加载,但需要花费大量时间。

有人可以告诉我出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

最后尝试拨打update_preferences()。这应该强制编写配置文件:

fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv");
fp.update_preferences()