GVKun编程网logo

不想在Selenium WebDriver中的Firefox上加载图像和CSS渲染-Python(selenium控制已经打开的火狐)

15

在这篇文章中,我们将带领您了解不想在SeleniumWebDriver中的Firefox上加载图像和CSS渲染-Python的全貌,包括selenium控制已经打开的火狐的相关情况。同时,我们还将为您

在这篇文章中,我们将带领您了解不想在Selenium WebDriver中的Firefox上加载图像和CSS渲染-Python的全貌,包括selenium控制已经打开的火狐的相关情况。同时,我们还将为您介绍有关Firefox + Selenium WebDriver并自动下载csv文件、perl – 使用Firefox 26的Selenium Webdriver 2?、Python Selenium-FireFox Webdriver配置文件首选项中可能有哪些键、python+selenium webdriver.firefox()方式配置浏览器设置的知识,以帮助您更好地理解这个主题。

本文目录一览:

不想在Selenium WebDriver中的Firefox上加载图像和CSS渲染-Python(selenium控制已经打开的火狐)

不想在Selenium WebDriver中的Firefox上加载图像和CSS渲染-Python(selenium控制已经打开的火狐)

我正在将Selenium 2与python绑定一起使用,以从合作伙伴的网站中获取一些数据。但是平均而言,执行此操作大约需要13秒钟。

我正在寻找一种禁用图像CSS和Flash等的方法。

我正在使用Firefox 3.6,也正在使用pyvirtualdisplay来防止打开Firefox窗口。任何其他加快Firefox的优化也将有所帮助。
我已经尝试过network.http.*选项,但并没有太大帮助。

并设置 permissions.default.image = 2

答案1

小编典典

我想出了一种方法来阻止Firefox加载CSS,图像和Flash。

from selenium.webdriver.firefox.firefox_profile import FirefoxProfiledef disableImages(self):    ## get the Firefox profile object    firefoxProfile = FirefoxProfile()    ## Disable CSS    firefoxProfile.set_preference(''permissions.default.stylesheet'', 2)    ## Disable images    firefoxProfile.set_preference(''permissions.default.image'', 2)    ## Disable Flash    firefoxProfile.set_preference(''dom.ipc.plugins.enabled.libflashplayer.so'',                                  ''false'')    ## Set the modified profile while creating the browser object     self.browserHandle = webdriver.Firefox(firefoxProfile)

再次感谢@Simon和@ernie的建议。

Firefox + Selenium WebDriver并自动下载csv文件

Firefox + Selenium WebDriver并自动下载csv文件

如何解决Firefox + Selenium WebDriver并自动下载csv文件?

有时内容类型与您期望的不一样使用 Firefox插件(或类似工具)查找文件的真实内容类型并在代码中使用它

顺便说一句,对我来说,内容类型是

fp.set_preference("browser.helperApps.neverAsk.openFile", "application/octet-stream");
fp.set_preference("browser.helperApps.neverAsk.savetodisk", "application/octet-stream");

解决方法

我对Selenium WebDriver和Firefox有问题。我想在对话框窗口中下载没有确认的csv文件,并且我有如下代码:

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

但似乎不起作用。我尝试了与 browser.helperApps.neverAsk.saveToDisk的* 许多组合 *

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/csv,text/plan,text/comma-separated-values")

要么

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/csv")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/plain")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/comma-separated-values")

但没有任何区别,Firefox也不会自动下载。我该如何解决?

perl – 使用Firefox 26的Selenium Webdriver 2?

perl – 使用Firefox 26的Selenium Webdriver 2?

今天早上我用2.32和Firefox 25.0.1运行Selenium. Firefox更新到26.0,突然Selenium停止工作.它会弹出新的浏览器窗口,但只是坐在那里提示搜索或地址. Selenium是否有问题?它是否被Firefox地址栏中的新提示搞糊涂了?是否已经在较新的Selenium 2.3x中修复过?

在等待修复时,更改我的代码以使用Chrome或(yecch)IE10的最简单方法是什么?我想让我的测试代码可配置,以便我的小组中的其他人可以使用他们选择的浏览器(尤其是Chrome).我尝试通过在new()方法中添加’browser_name’=>’* chrome’来让Chrome工作,但它从未奏效.

顺便说一句,我使用的是Perl语言绑定(Selenium :: Remote :: Driver 0.17).

解决方法

尝试将selenium更新为2.38.0(撰写本文时为最新版本).我有类似的问题与firefox更新,然后按钮没有被点击和升级版本解决了它.希望这能解决它.

Python Selenium-FireFox Webdriver配置文件首选项中可能有哪些键

Python Selenium-FireFox Webdriver配置文件首选项中可能有哪些键

我在任何地方都找不到真正的信息,我正在寻找可以在profile.set_preference()API中使用的可能键的列表。

这里是一些上下文:

from selenium import webdriverfrom pyvirtualdisplay import Displaydisplay = Display(visible=0, size=(1024, 768))display.start()profile = webdriver.FirefoxProfile()

现在,如果要指定客户端SSL,则需要将其配置为FireFox配置文件的首选项。我正在尝试查找所有首选项的列表,以便可以使用它。

答案1

小编典典

你可以看一下profile.DEFAULT_PREFERENCES这是jsonpython2.7/site-packages/selenium/webdriver/firefox/webdriver_prefs.json

{u''frozen'': {u''app.update.auto'': False,  u''app.update.enabled'': False,  u''browser.EULA.3.accepted'': True,  u''browser.EULA.override'': True,  u''browser.displayedE10SNotice'': 4,  u''browser.download.manager.showWhenStarting'': False,  u''browser.link.open_external'': 2,  u''browser.link.open_newwindow'': 2,  u''browser.offline'': False,  u''browser.reader.detectedFirstArticle'': True,  u''browser.safebrowsing.enabled'': False,  u''browser.safebrowsing.malware.enabled'': False,  u''browser.search.update'': False,  u''browser.selfsupport.url'': u'''',  u''browser.sessionstore.resume_from_crash'': False,  u''browser.shell.checkDefaultBrowser'': False,  u''browser.tabs.warnOnClose'': False,  u''browser.tabs.warnOnOpen'': False,  u''datareporting.healthreport.logging.consoleEnabled'': False,  u''datareporting.healthreport.service.enabled'': False,  u''datareporting.healthreport.service.firstRun'': False,  u''datareporting.healthreport.uploadEnabled'': False,  u''datareporting.policy.dataSubmissionEnabled'': False,  u''datareporting.policy.dataSubmissionPolicyAccepted'': False,  u''devtools.errorconsole.enabled'': True,  u''dom.disable_open_during_load'': False,  u''extensions.autoDisableScopes'': 10,  u''extensions.blocklist.enabled'': False,  u''extensions.logging.enabled'': True,  u''extensions.update.enabled'': False,  u''extensions.update.notifyUser'': False,  u''javascript.enabled'': True,  u''network.http.phishy-userpass-length'': 255,  u''network.manage-offline-status'': False,  u''offline-apps.allow_by_default'': True,  u''prompts.tab_modal.enabled'': False,  u''security.csp.enable'': False,  u''security.fileuri.origin_policy'': 3,  u''security.fileuri.strict_origin_policy'': False,  u''security.warn_entering_secure'': False,  u''security.warn_entering_secure.show_once'': False,  u''security.warn_entering_weak'': False,  u''security.warn_entering_weak.show_once'': False,  u''security.warn_leaving_secure'': False,  u''security.warn_leaving_secure.show_once'': False,  u''security.warn_submit_insecure'': False,  u''security.warn_viewing_mixed'': False,  u''security.warn_viewing_mixed.show_once'': False,  u''signon.rememberSignons'': False,  u''toolkit.networkmanager.disable'': True,  u''toolkit.telemetry.enabled'': False,  u''toolkit.telemetry.prompted'': 2,  u''toolkit.telemetry.rejected'': True}, u''mutable'': {u''browser.dom.window.dump.enabled'': True,  u''browser.newtab.url'': u''about:blank'',  u''browser.newtabpage.enabled'': False,  u''browser.startup.homepage'': u''about:blank'',  u''browser.startup.page'': 0,  u''dom.max_chrome_script_run_time'': 30,  u''dom.max_script_run_time'': 30,  u''dom.report_all_js_exceptions'': True,  u''javascript.options.showInConsole'': True,  u''network.http.max-connections-per-server'': 10,  u''startup.homepage_welcome_url'': u''about:blank'',  u''webdriver_accept_untrusted_certs'': True,  u''webdriver_assume_untrusted_issuer'': True}}

python+selenium webdriver.firefox()方式配置浏览器设置

python+selenium webdriver.firefox()方式配置浏览器设置

webdriver.firefox() 爬虫需求:  (其实是输入参数可获取.zip/pdf 文件,然后点击下载)

——但是firefox浏览器有Bug,点击下载之后会有弹出窗口,需要你点击确定,这怎么能成,所以

百度一把:得知需要修改firefox的配置文件mimeTypes.rdf

——搜索栏输入:about:support  配置文件夹—》打开文件夹—》获取文件地址

 

添加配置内容:

<RDF:Description RDF:about="urn:mimetype:application/zip"
NC:value="application/zip"
NC:editable="true"
NC:fileExtensions="zip"
NC:description="*.zip">
<NC:handlerProp RDF:resource="urn:mimetype:handler:application/zip"/>
</RDF:Description>

<RDF:Seq RDF:about="urn:mimetypes:root">
<RDF:li RDF:resource="urn:mimetype:application/zip"/>
</RDF:Seq>

=====现在下载不需要每次都点击了=====

但是:使用webdriver.firefox()时,程序调用的是一个全新的firefox,所以配置文件并没有起到作用

——程序中可添加FirefoxProfile文件来支持 (FirefoxProfile文件目录就是mimeTypes.rdf的上级目录)

def __init__(self):
self.url = ''+++++++++++++''
profile=webdriver.FirefoxProfile("C:\Users\用户名\AppData\Roaming\Mozilla\Firefox\Profiles\9a71bi5y.default")
self.browser = webdriver.Firefox(profile)

 

今天关于不想在Selenium WebDriver中的Firefox上加载图像和CSS渲染-Pythonselenium控制已经打开的火狐的介绍到此结束,谢谢您的阅读,有关Firefox + Selenium WebDriver并自动下载csv文件、perl – 使用Firefox 26的Selenium Webdriver 2?、Python Selenium-FireFox Webdriver配置文件首选项中可能有哪些键、python+selenium webdriver.firefox()方式配置浏览器设置等更多相关知识的信息可以在本站进行查询。

本文标签: