win10环境下python Selenuim调用Chrome时提示data 不安全

1、先上问题截图,如下图1所示:
这里写图片描述图1
问题描述:IDE 为pycharm20181.1专业版,chromeDriver为chromeDiver版本为2.40,匹配Chrome版本号为66-68。具体如下图2所示:
这里写图片描述 图2
chromeDiver其安装配置具体过程不再赘述,请自行百度。python中Selenuim调用Chrome时具体代码如下:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get(‘https://www.taobao.com/‘)
print(browser.page_source)
browser.close()
右键运行后,出现图1中的现象。
2、解决办法:
本来以为挺简单,结果还是没仔细看ChromeDiver的开发文档,所以就掉坑了。问题解决思路来自ChromeDiver的开发文档中的一段话,如图3所示(PS:原谅我偷懒):
这里写图片描述
(1)在Chrome浏览器中输入Chrome://Version回车后出现下图4所示:下图4所示
其中有一行很关键,也就是命令行“ “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –profile-directory=Default –flag-switches-begin –flag-switches-end”,如果win10环境下win+R运行CMD后,将上述命令输入后,直接回启动Chrome浏览器。
参考图3的说明后,明白了。要先自定义一个Profile的文件夹,将该文件夹的路径通过Chromeoptions进行设置。那么以我自己为例,在D:\python下新建了一个profile的文件夹后,修改代码如下:
options = webdriver.ChromeOptions()
options.add_argument(“user-data-dir=D:\python\profile” )
browser = webdriver.Chrome(chrome_options=options)
browser.get(‘https://www.taobao.com/‘)
print(browser.page_source)

browser.close()为了看效果,注释掉了该行

右键运行后,浏览器自动打开指定网页,并在命令窗口中返回网页源码。如下图5、6所示:
这里写图片描述
太长,只截了一部分
3、总结
一个小时左右,各种测试,最后还是回归到ChromeDriver开发文档上才解决问题。使用工具一定得小心谨慎,不能似懂非懂。

### 配置 Selenium 环境以使用 Chrome 浏览器 #### 安装 Selenium 和 WebDriver 为了使 Selenium 可以与 Chrome 浏览器交互,需要确保安装了最新版本的 `selenium` 库以及适合当前 Chrome 版本的 ChromeDriver。 在 Windows 下,可以在命令行中输入如下指令来安装 `selenium`: ```bash pip install selenium ``` 接着,在 PyCharm 或其他 Python 开发环境中激活相应的虚拟环境并再次运行上述 pip 命令以保证库被正确安装到项目所依赖的环境中[^2]。 #### 获取并设置 ChromeDriver 访问 [ChromeDriver下载页面](https://sites.google.com/a/chromium.org/chromedriver/downloads),找到适用于操作系统和 Chrome 浏览器版本的 ChromeDriver 并完成下载。解压后将可执行文件放置于系统的 PATH 环境变量指向的位置之一以便全局调用;也可以直接指明路径给后续代码中的 `webdriver.Chrome()` 方法参数传递。 #### 设置 ChromeOptions 来定制会话行为 如果希望 Selenium 启动加载特定用户的浏览数据,则可通过向 Chrome 添加自定义选项实现这一点。下面的例子展示了怎样让 Selenium 使用现有的用户资料夹: ```python from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from selenium.webdriver.chrome.options import Options options = Options() # 替换为你自己的用户数据目录路径 options.add_argument(r"user-data-dir=C:\Path\To\Your\UserDataDir") service = ChromeService(executable_path=r"C:\Path\To\chromedriver.exe") driver = webdriver.Chrome(service=service, options=options) ``` 这段脚本设置了 Chrome 的启动参数使其读取指定位置上的用户配置文件,从而保持登录状态和其他个性化设定变[^1]。 另外一种情况是想要连接至一个已经在运行着的 Chrome 实例上进行操作而非每次都新开窗口。此应采用同的方式构建 `Options` 对象并向其中加入实验性质的选择项 `"debuggerAddress"` 如下所示: ```python from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from selenium.webdriver.chrome.options import Options options = Options() options.add_experimental_option("debuggerAddress", "localhost:9222") service = ChromeService(executable_path=r"C:\Path\To\chromedriver.exe") driver = webdriver.Chrome(service=service, options=options) print(driver.title) # 输出已打开浏览器标签页标题验证成功附接 ``` 此方法允许开发者更高效地开展调试工作而无需反复关闭再重启浏览器实例[^4]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值