2012-08-02 66 views
0
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 
            ) 

上述代码不尊重指定的配置文件。无法加载自定义配置文件蟒蛇 - 硒

BUT下面代码工作按预期:

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启动硒服务器似乎忽略了配置文件的设置

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 
           ) 

该配置文件已加载,但需要很长时间。

有人能告诉我什么是错的?

+0

请参阅问题和帮助。 [在计算器问题] [1] [1]:https://stackoverflow.com/questions/27058053/selenium-python-webdriver-path-error-system-cant-find-the-path-规定 – 2014-11-21 09:49:46

回答

2

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

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