当前位置: 首页 > 面试题库 >

将selenium设置为使用自定义配置文件,但默认情况下会保持打开状态

呼延修然
2023-03-14
问题内容

我正在尝试使用python和selenium在Firefox中自动执行某些任务。当我下载文件时,会弹出询问您是否要打开或保存的文件,并带有一个复选框,每次使用此文件时都会html" target="_blank">执行此操作。我发现除非您在Web
Page Fixer上安装添加项,否则该复选框将不起作用。我已经正常安装了,但是当我使用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] invalid drawable
conf-room:~ User$ 2013-04-11 11:58:00.350 firefox-bin[2251:303] invalid drawable

我尝试了以下方法,但均未成功。

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)

没有错误,默认用户

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)

错误:fp.set_preference(“ browser.download.dir”,getcwd())NameError:未定义名称“ getcwd”

关于我在做什么错的任何想法吗?谢谢!

PS我正在使用Mac OS X 10.8.2,Python 2.7,Firefox 20

解决方案由Corey Goldberg提供。 这应该适用于所有excel版本。

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)

问题答案:

错误:fp.set_preference(“ browser.download.dir”,getcwd())NameError:未定义名称“
getcwd”

getcwd()没有定义。因此,我假设您需要getcwd来自os模块的:

  • http://docs.python.org/library/os.html

添加:import os,然后使用调用os.getcwd()

或者您也可以为此功能添加导入: from os import getcwd

您的示例中包含适当的导入内容:

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)


 类似资料:
  • 我正在使用以下代码打开带有defaut配置文件设置的edge: 但我得到这个错误: PS C:\Users\PopA2

  • 问题内容: 谁能向我解释为什么Hibernate 默认情况下不设置注释,而是允许实体根据当前设置的属性生成INSERT? 什么是不使用的原因,因此默认情况下包括所有实体属性? 问题答案: @ jb-nizet说了什么。 另外,在我的书中是个坏主意。 从生成的SQL跳过空字段,很快您将发现自己处于声明列的情况,这实际上导致持久数据与休眠知道的实体数据不同。这会造成挫败感,并可能使您诉诸昂贵的电话。

  • 问题内容: 谁能向我解释为什么Hibernate 默认将 Dynamic insert = false 设置为10,这是什么原因? 问题答案: @ jb-nizet说了什么。 另外,在我的书中是个坏主意。 从生成的SQL中跳过空字段,很快您将发现自己处于声明列的情况,这实际上导致持久数据与hibernate知道的实体数据不同。这会造成挫败感,并可能使您诉诸昂贵的电话。 例如假设列 并且您为映射到此

  • 问题内容: Selenium WebDriver(又名Selenium 2)在哪里打开FirefoxDriver时会使用匿名配置文件?如果它使用Firefox的默认值%appdata%/ roaming / mozilla / firefox / profiles,那么如果我要禁用firefox插件,那么也应该对Selenium WebDriver禁用它,为什么不是呢? 问题答案: 我将回答它,并

  • 我正在用Spring MVC设置一个新项目,我不能配置Log4j2,我得到了与许多人寻求帮助相同的错误。 ERROR StatusLogger未找到Log4j 2配置文件。使用默认配置... 工具和库: 日蚀光子 SpringMVC 5.1.6 Slf4j 1.7.26 Log4j2.11.2 Maven(来自日蚀) .../组织。日食wst。服务器core/tmp0/wtpwebapps/Mon

  • 如果我没有在结构中定义构造函数,我可以通过如下方式选择某个值来初始化它: 但是如果我添加新的默认构造函数,那么我就会失去这个功能: 两种方式都有可能吗? 我尝试添加默认构造函数,但似乎也不起作用。