安装chrome浏览器驱动

安装chrome浏览器驱动:一种是常见的手动安装,另一种则是利用第三方库自动安装。

前提:安装好了Chrome浏览器

[1]手动安装

先查看本地Chrome浏览器版本:(两种方式均可)

在浏览器的地址栏键入Chrome://version,即可查看浏览器版本号或者点击Chrome菜单,帮助→关于Google Chrome,查看浏览器版本号再选择对应版本号的驱动版本

下载地址:https://chromedriver.storage.googleapis.com/index.html

最后进行环境变量配置,也就是将对应的ChromeDriver的可执行文件chromedriver.exe文件拖到Python的Scripts目录下。

注:当然也可以不这样做,但是在调用的时候指定chromedriver.exe绝对路径亦可。

[2]自动安装

自动安装需要用到第三方库webdriver_manager,先安装这个库,然后调用对应的方法即可。

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from webdriver_manager.chrome import ChromeDriverManager

browser = webdriver.Chrome(ChromeDriverManager().install())

browser.get('http://www.baidu.com')

search = browser.find_element_by_id('kw')

search.send_keys('python')

search.send_keys(Keys.ENTER)

# 关闭浏览器

browser.close()

在上述代码中,ChromeDriverManager().install()方法就是自动安装驱动的操作,它会自动获取当前浏览器的版本并去下载对应的驱动到本地。

如果本地已经有该浏览器渠道,则会提示其已存在。

安装edge浏览器驱动

安装edge浏览器驱动:一种是常见的手动安装,另一种则是利用第三方库自动安装。

前提:安装好了edge浏览器

[1]手动安装

先查看本地edge浏览器版本:(两种方式均可)

在浏览器的地址栏键入edge://version,即可查看浏览器版本号或者点击edge菜单,帮助和反馈→关于microsoft edge,查看浏览器版本号再选择对应版本号的驱动版本

下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

最后进行环境变量配置,也就是将对应的EdgeDriver的可执行文件msedgedriver.exe文件拖到Python的Scripts目录下。

注:当然也可以不这样做,但是在调用的时候指定msedgedriver.exe绝对路径亦可。

[2]自动安装

自动安装需要用到第三方库webdriver_manager,先安装这个库,然后调用对应的方法即可。

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from webdriver_manager.microsoft import EdgeChromiumDriverManager

browser = webdriver.Edge(EdgeChromiumDriverManager().install())

browser.get('http://www.baidu.com')

search = browser.find_element_by_id('kw')

search.send_keys('python')

search.send_keys(Keys.ENTER)

# 关闭浏览器

browser.close()

在上述代码中,EdgeChromiumDriverManager().install()方法就是自动安装驱动的操作,它会自动获取当前浏览器的版本并去下载对应的驱动到本地。

如果本地已经有该浏览器渠道,则会提示其已存在。

初始化浏览器对象

在准备工作部分我们提到需要将浏览器渠道添加到环境变量或者指定绝对路径,前者可以直接初始化后者则需要进行指定。

from selenium import webdriver

# 初始化浏览器为chrome浏览器

browser = webdriver.Chrome()

# 指定绝对路径的方式

path = r'D:\programs\python\Python37\Scripts\chromedriver.exe'

browser = webdriver.Chrome(path)

# 关闭浏览器

browser.close()

以上是有界面的浏览器,我们还可以初始化浏览器为无界面的浏览器。

from selenium import webdriver

# 无界面的浏览器

option = webdriver.ChromeOptions()

option.add_argument("headless")

browser = webdriver.Chrome(options=option)

# 访问百度首页

browser.get(r'https://www.baidu.com/')

# 截图预览

browser.get_screenshot_as_file('截图.png')

# 关闭浏览器

browser.close()

完成浏览器对象的初始化后并将其赋值给了browser对象,接下来我们就可以调用browser来执行各种方法模拟浏览器的操作了。

访问页面

进行页面访问使用的是get方法,传入参数为待访问页面的URL地址即可。

from selenium import webdriver

# 初始化浏览器为chrome浏览器

browser = webdriver.Chrome()

# 访问百度首页

browser.get(r'https://www.baidu.com/')

# 关闭浏览器

browser.close()

设置浏览器大小

set_window_size()方法可以用来设置浏览器大小(就是分辨率),而maximize_window则是设置浏览器为全屏!

from selenium import webdriver

import time

browser = webdriver.Chrome()

# 设置浏览器大小:全屏

browser.maximize_window()

browser.get(r'https://www.baidu.com')

time.sleep(2)

# 设置分辨率 500*500

browser.set_window_size(500,500)

time.sleep(2)

# 设置分辨率 1000*800

browser.set_window_size(1000,800)

time.sleep(2)

# 关闭浏览器

browser.close()

刷新页面

刷新页面是我们在浏览器操作时很常用的操作,这里refresh()方法可以用来进行浏览器页面刷新。

from selenium import webdriver

import time

browser = webdriver.Chrome()

# 设置浏览器全屏

browser.maximize_window()

browser.get(r'https://www.baidu.com')

time.sleep(2)

try:

# 刷新页面

browser.refresh()

print('刷新页面')

except Exception as e:

print('刷新失败')

# 关闭浏览器

browser.close()

大家也是自行演示看效果哈,同F5快捷键。

前进后退

前进后退也是我们在使用浏览器时非常常见的操作,这里forward()方法可以用来实现前进,back()可以用来实现后退。

from selenium import webdriver

import time

browser = webdriver.Chrome()

# 设置浏览器全屏

browser.maximize_window()

browser.get(r'https://www.baidu.com')

time.sleep(2)

# 打开淘宝页面

browser.get(r'https://www.taobao.com')

time.sleep(2)

# 后退到百度页面

browser.back()

time.sleep(2)

# 前进的淘宝页面

browser.forward()

time.sleep(2)

# 关闭浏览器

browser.close()

获取页面基础属性

当我们用selenium打开某个页面,有一些基础属性如网页标题、网址、浏览器名称、页面源码等信息。

from selenium import webdriver

browser = webdriver.Chrome()

browser.get(r'https://www.baidu.com')

# 网页标题

print(browser.title)

# 当前网址

print(browser.current_url)

# 浏览器名称

print(browser.name)

# 网页源码

print(browser.page_source)

输出如下:

百度一下,你就知道

https://www.baidu.com/

chrome

需要注意的是,这里的页面源码我们就可以用正则表达式、Bs4、xpath以及pyquery等工具进行解析提取想要的信息了。

定位页面元素之id定位

以百度首页的搜索框节点为例,搜索python

find_element_by_id()根据id属性获取,这里id属性是 kw

from selenium import webdriver

import time

browser = webdriver.Chrome()

browser.get(r'https://www.baidu.com')

time.sleep(2)

# 在搜索框输入 python

browser.find_element_by_id('kw').send_keys('python')

time.sleep(2)

# 关闭浏览器

browser.close()

定位页面元素之name定位

以百度首页的搜索框节点为例,搜索python

find_element_by_name()根据name属性获取,这里name属性是 wd

from selenium import webdriver

import time

browser = webdriver.Chrome()

browser.get(r'https://www.baidu.com')

time.sleep(2)

# 在搜索框输入 python

browser.find_element_by_name('wd').send_keys('python')

time.sleep(2)

# 关闭浏览器

browser.close()

下期继续分享元素class、tag、link、partial、xpath、css、find_element的By定位等,感兴趣的朋友可以关注。

希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以私聊我

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: