Python Selenium无法打开Chrome浏览器处理自定义浏览器路径

server/2024/10/21 10:03:39/

问题

在使用Python Selenium控制Chrome浏览器操作的过程中,由于安装的Chrome浏览器的版本找不到对应版本的驱动chromedriver.exe文件,下载了小几个版本号的驱动软件。发现运行下面的代码是无法正常使用的:

python">from selenium import webdriver
driver = webdriver.Chrome()

报错内容如下:
在这里插入图片描述

There was an error managing chromedriver (request or response body error: operation timed out);
WebDriverException Traceback (most recent call last) Cell In[4], line 1----> 1 driver =webdriver.Chrome()。
WebDriverException: Message: unknown error: cannot find Chrome binary

主要就是运行

python">driver = webdriver.Chrome()

的时候报错,我一直以为是Chrome版本和chromedriver版本不一致的问题,所以特意在CNPM Binaries Mirror下载了对应版本的Chrome浏览器。但是其实也不行。可能的原因是浏览器没有进行默认安装的方式。因为我这的浏览器都是解压即用的,所以要解决就需要重新下载安装浏览器了。这里我不太想采用这种方式,所以找了其它方法。

解决方法

采用的方式是指定Chrome浏览器程序路径的方式:

python">from selenium import webdriverchrome_opt= webdriver.ChromeOptions()
chrome_opt.binary_location = "E:\****\Google\Chrome\Application\chrome.exe"
driver = webdriver.Chrome(chrome_opt)url = "https://www.baidu.com/"
driver.get(url)

这里通过webdriver.ChromeOptions() 新建了Chrome浏览器的选项,然后通过binary_location设置Chrome浏览器程序的路径。
采用这种方式就指定了浏览器的路径,能够顺利控制浏览器了,我这里测试过两个版本的浏览器都是可以控制的:
在这里插入图片描述

其它常用选项参数:

add_argument(argument):添加命令行参数。 >window_size:设置浏览器窗口的大小。
disable_extensions:禁用扩展程序。 >binary_location:设置Chrome浏览器可执行文件的路径。

其它详细说明请看:https://www.selenium.dev/zh-cn/documentation/webdriver/drivers/options/


http://www.ppmy.cn/server/12313.html

相关文章

阿里云域名动态解析

前景说明: 你有一个阿里云的域名,想让它解析到你家用宽带动态ip上。 解决思路: 1、定时查看宽带的ip; 2、发现变化时,通过阿里云提供的sdk修改域名解析。 一、阿里云控制台创建AccessKey 官方文档:创…

P1039 [NOIP2003 提高组] 侦探推理

注意换行符!!! 如果你使用getchar()系列函数读入,并且用换行符判定是否结束,则换行符会导致你WA掉! linux下换行符为’\n’,windows下换行符为’\r\n’,如果数据是windows下造的&a…

SCSS全局配置 vue项目(二)

目录 1、先要查看node版本 2、安装对应的node-sass、sass-loader版本 2.1根据项目使用的node版本安装对应的node-sass版本 2.2根据node-sass版本选择兼容的sass-loader版本,不然项目无法正常运行 3、在 vue.config.js 中配置: 4、在组件中…

Spring源码中的抽象工厂模式

Spring 框架中广泛运用了抽象工厂模式来实现其核心组件的创建与管理。以下是源码分析: 源码分析: 1. BeanFactory 与其实现 org.springframework.beans.factory.BeanFactory 是 Spring 中最基础的工厂接口,它代表了抽象工厂模式中的“抽象…

Java深度优先搜索与广度优先搜索知识点(含面试大厂题和源码)

深度优先搜索(Depth-First Search,DFS)和广度优先搜索(Breadth-First Search,BFS)是两种常用的图遍历算法,它们在解决图和树结构的问题中非常有用,如路径搜索、最短路径、网络爬虫、…

每天学习一个Linux命令之scp

每天学习一个Linux命令之scp 在Linux系统中,scp(secure copy)命令用于在本地和远程服务器之间安全地传输文件和目录。它是基于SSH协议的,通过加密和认证保证传输的安全性。本文将详细介绍scp命令及其所有可用选项的用法。 命令格…

STM32 学习13 低功耗模式与唤醒

STM32 学习13 低功耗模式与唤醒 一、介绍1. STM32低功耗模式功能介绍2. 常见的低功耗模式(1)**睡眠模式 (Sleep Mode)**:(2)**停止模式 (Stop Mode)**:(3)**待机模式 (Standby Mode)**: 二、睡眠模式1. 进入…

基于模糊控制的纯跟踪横向控制在倒车中的应用及实现

文章目录 1. 引言2. Pure Pursuit在倒车场景的推导3. 模糊控制器的设计3.1 基础知识3.2 预瞄距离系数k的模糊控制器设计 4. 算法和仿真实现 1. 引言 Pure Pursuit是一种几何跟踪控制算法,也被称为纯跟踪控制算法。他的思想就是基于当前车辆的后轮中心的位置&#x…