Python | Selenium实现控制Chrome及可能踩的坑

一. 如何实现(大致思路):

环境搭建(前提):

1.已有Python开发环境及Chrome;

2. 下载chromedriver:

下载地址:(若失效可自行百度chromedriver下载);

3. 安装Selenium:

方法:pip install selenium 等;

基本代码:

from selenium import webdriver

#创建一个实例
browser = webdriver.Chrome()
#转到百度官网
browser.get("htttps://www.baidu.com")
#退出浏览器
browser.quit()

二. 踩坑(注意事项详述):

1. 下载chromedriver时首先确认自己chrome版本:帮助-关于Google Chrome;

2. chromedriver下载后需保证以下条件之一:

a. 下载后放在python.exe同一目录;

b. 将保存目录设置为环境变量(eg:E:PyToolschromedriver.exe设置为环境变量);

c. 代码中实现:

from selenium import webdriver

ChromeDriver = "E:PyToolschromedriver.exe"
#手动指定chromedriver位置
browser = webdriver.Chrome(executable_path=ChromeDriver)

如若不按以上配置,则可能出现以下报错:selenium.common.exceptions.WebDriverException: Message: chromedriver executable needs to be in PATH

个人理解:

    Python完成安装后基本都会设置为环境变量,因此a、b可基本归为一类,当然Python环境未设置成环境变量或者个人电脑有其他设置另说。 关于c:a或b设置好后,系统会自行找到chromedriver并完成操作;a、b未设置,则需手动按c设置,使系统找到chromedriver并完成操作。

3. chrome是否为默认安装位置:

    chrome浏览器为默认安装位置(默认C盘),则以上方法基本可以实现,如有问题,因个人是将chrome移动安装位置,无法踩坑,则需各位自行解决; chrome浏览器非默认安装位置(a正确,b会出错):

a. 因为不在默认位置,所以需要在代码中手动配置chrome位置,按照这样配置,之后才能完成对chrome的控制:

options = webdriver.ChromeOptions()
#options设置chrome位置
options.binary_location = r"D:GoogleChromeApplicationchrome.exe"
#配置到实例
browser = webdriver.Chrome(chrome_options=options)

若不按以上进行配置,会报以下错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary

b. 如果按照以下方法配置,只可以完成将浏览器调用打开,之后会报错,无法实现对浏览器的控制:

报错为:selenium.common.exceptions.webDriverException: Message: Service D:GoogleChromeApplicationchrome.exe unexpectedly exited. Status code was: 0

ChromePath = r"D:GoogleChromeApplicationchrome.exe"
browser = webdriver.Chrome(ChromePath)

注:文章是根据个人经验及理解进行编写,可能有描述不准确及错误的地方,欢迎留言指正。

经验分享 程序员 微信小程序 职场和发展