设置硒使用自定义配置文件,但它保持默认打开 [英] Setting selenium to use custom profile, but it keeps opening with default

查看:251
本文介绍了设置硒使用自定义配置文件,但它保持默认打开的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用python和selenium在Firefox中自动完成一些任务。当我下载一个文件时,会弹出一个询问是否要打开或保存的文件,每次使用这种文件时都会出现一个复选框。我发现复选框不起作用,除非您安装网页固定器上的添加。我已经正常安装,但是当我使用python + selenium时,它使用一个没有附加的配置文件。



互联网指示我通过关闭Firefox,打开/ Applications / Utilities,然后输入命令来创建另一个配置文件:

  /Applications/Firefox.app/Contents/MacOS/firefox-bin -p 

然后创建一个新的配置文件,我将使用硒。我设置名称并更改文件夹名称。配置文件名称是PTI_Auto_Profile。文件夹路径显示如下:

  / users / User / Library / Application Support / Firefox / Profiles / Selenium / 

当我完成时。我点击启动Firefox,并在终端屏幕上出现以下错误。

  2013-04-11 11:57:30.422 firefox-bin [2248:707]无效可绘制
conf-房间:〜用户$ 2013-04-11 11:58:00.350 firefox-bin [2251:303]无效drawable



$ p
$ b

  profile = webdriver.FirefoxProfile(os.path.expanduser( 〜/ Library / Application Support / Firefox / Profiles / Selenium /))
driver = webdriver.Firefox(firefox_profile = profile)

没有错误,默认用户。

  profile = webdriver.FirefoxProfile(os.path。 expanduser(〜/ Library / Application Support / Firefox / Profiles / Selenium /))
driver = webdriver.Firefox(profile)

没有错误,默认用户。

$ $ $ $ $ $ $ $ $ $ b fp.set_preference(browser.download.folderList,2)
fp.set_preference(browser.download.manager.showWhenStarting,False)
fp.set_preference(browser.download.dir ,getcwd())
fp.set_preference(browser.helperApps.neverAsk.saveToDisk,text / csv / xls)

driver = webdriver.Firefox(firefox_profile = fp)


错误:
fp.set_preference(browser.download.dir,getcwd())
NameError:name 'getcwd'没有定义



有什么想法我做错了?谢谢!

我使用的是mac os x 10.8.2,python 2.7,firefox 20。b / b
$ b解决方案由Corey Goldberg提供。这个适用于所有的excel版本。

 从selenium导入os 
导入webdriver
profile = webdriver.FirefoxProfile()
profile .set_preference('browser.download.folderList',2)
profile.set_preference('browser.download.manager.showWhenStarting',False)
profile.set_preference('browser.download.dir',os .getcwd())
profile.set_preference('browser.helperApps.neverAsk.saveToDisk',('application / vnd.ms-excel'))
driver = webdriver.Firefox(profile)


解决方案


Error:fp.set_preference browser.download.dir,getcwd())NameError:
名称'getcwd'未定义


getcwd()未定义。所以我假设你需要 os 模块中的 getcwd





add: import os ,然后用 os.getcwd()



或者你可以添加这个函数的导入:
from os import getcwd



您的示例包含正确的导入:

 从selenium导入os 
导入webdriver
$ b $ profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting',False)
profile.set_preference('browser.download.dir',os.getcwd())
profile。 set_preference('browser.helperApps.neverAsk.saveToDisk','text / csv / xls')
driver = webdriver.Firefox(profile)


I am trying to use python and selenium to automate some tasks in firefox. When I download a file, that pop up comes up asking if you want to open or save, and a check box for do this every time with this kind of file. I have found that check box does not work unless you install the add on Web Page Fixer. I have that installed normally, but when I use python + selenium it uses a profile with no add ons.

The internet has instructed me to create another profile by closing Firefox, opening /Applications/Utilities, then typing the command:

/Applications/Firefox.app/Contents/MacOS/firefox-bin -p

I then create a new profile that I will use with selenium. I set the name and change the folder name. The profile name is "PTI_Auto_Profile". The folder path displays as follows:

/users/User/Library/Application Support/Firefox/Profiles/Selenium/

When I am done. I click 'Start Firefox', and the following error appears on my terminal screen.

2013-04-11 11:57:30.422 firefox-bin[2248:707] invalid drawable
conf-room:~ User$ 2013-04-11 11:58:00.350 firefox-bin[2251:303] invalid drawable

I've tried the following to no success.

profile = webdriver.FirefoxProfile(os.path.expanduser("~/Library/Application Support/Firefox/Profiles/Selenium/"))
driver = webdriver.Firefox(firefox_profile=profile) 

No error, default user.

profile = webdriver.FirefoxProfile(os.path.expanduser("~/Library/Application Support/Firefox/Profiles/Selenium/"))
driver = webdriver.Firefox(profile) 

No error, default user.

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

driver = webdriver.Firefox(firefox_profile=fp)

Error: fp.set_preference("browser.download.dir",getcwd()) NameError: name 'getcwd' is not defined

Any ideas on what I am doing wrong? Thank you!

p.s. I am using mac os x 10.8.2, python 2.7, firefox 20

SOLUTION PROVIDED BY Corey Goldberg. This should work for all excel versions.

import os
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', os.getcwd())
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', ('application/vnd.ms-excel'))
driver = webdriver.Firefox(profile)

解决方案

Error: fp.set_preference("browser.download.dir",getcwd()) NameError: name 'getcwd' is not defined

getcwd() is not defined. So I assume you want the getcwd from the os module:

add: import os , and then invoke with os.getcwd().

or you could just add the import for this function: from os import getcwd

your example with the proper imports included:

import os
from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', os.getcwd())
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv/xls')
driver = webdriver.Firefox(profile)

这篇关于设置硒使用自定义配置文件,但它保持默认打开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆