selenium修改chromeOption参数

您所在的位置:网站首页 X浏览器下载路径 selenium修改chromeOption参数

selenium修改chromeOption参数

#selenium修改chromeOption参数| 来源: 网络整理| 查看: 265

selenium + chrome 简介需求解决方案1解决方案2

简介

selenium启动chrome时有个options可以设置chrome的属性。其实其他浏览器也有。 selenium启动时修改文件下载路径:(来自:https://www.cnblogs.com/linwenbin/p/10361986.html) 跳转

from selenium import webdriver import time def set_chrome_pref(): chromeOptions = webdriver.ChromeOptions() prefs = {"download.default_directory":"D:\\"} chromeOptions.add_experimental_option("prefs", prefs) driver = webdriver.Chrome(chrome_options=chromeOptions) 需求

这样确实能修改文件下载路径,但是我下载的时候,更希望直接命名我的文件名和下载位置,所以就需要打开一个开关:下载前询问每个文件的保存位置 (如下图) 在这里插入图片描述

解决方案1

首先,我想到的就是F12,然后找到该按钮的js,或者其值,如果没有打开,就去打开。 真别说,让我找到了。 打开chrome,chrome://settings,这个地址就是设置地址。然后执行以下js,就能打开关闭

document.getElementsByTagName('settings-ui')[0].shadowRoot.getElementById('container').children[1].shadowRoot.children[11].shadowRoot.getElementById('advancedPage').children[4].children[0].shadowRoot.getElementById('pages').children[0].children[1].shadowRoot.getElementById('outerRow').children[3].checked

其值为true,就是打开了。为false,就是关闭了。

document.getElementsByTagName('settings-ui')[0].shadowRoot.getElementById('container').children[1].shadowRoot.children[11].shadowRoot.getElementById('advancedPage').children[4].children[0].shadowRoot.getElementById('pages').children[0].children[1].shadowRoot.getElementById('outerRow').children[3].click()

这个就是点击按钮的js了,其实跟查询状态的元素时一个,只不过,一个是 .checked,一个是 .click()

解决方案2

执行js虽说行,每次还有检查,势必会浪费时间。从chrome的一个配置文件里,找到了chrome的设置项,这个就可以在selenium开启chrome时直接加上参数。 文件地址:C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Preferences 文件没有扩展名。其内容就是一个json,格式化后如下: 在这里插入图片描述 内容很长,截图不全。其中有一个项,决定了开关。如下图:

在这里插入图片描述 selenium启动chrome时,增加扩展属性。可以改变这个按钮。具体代码如下:

from selenium.webdriver.chrome.webdriver import WebDriver as WebDriver_chrome from selenium.webdriver.chrome.options import Options as Options_chrome prefs = {"download.prompt_for_download": True} options = Options_chrome() options.add_experimental_option("prefs", prefs) web_driver = WebDriver_chrome(executable_path="chromedriver.exe", chrome_options=options) web_driver.maximize_window()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3