📜  Selenium Webdriver在Chrome测试(1)

📅  最后修改于: 2023-12-03 14:47:22.341000             🧑  作者: Mango

Selenium Webdriver在Chrome测试

简介

Selenium是一个用于自动化浏览器的工具,它可以模拟用户在浏览器中的各种操作,如点击、输入、提交等,从而完成各种自动化测试、爬虫等操作。

Webdriver是Selenium的一个组件,它主要用于与浏览器交互,模拟用户在浏览器中的各种操作,并获取或修改浏览器的各种属性。

在使用Selenium进行自动化测试时,需要一个具体的浏览器驱动,Webdriver就是这个驱动。对于Chrome浏览器来说,可以使用ChromeDriver作为Webdriver。

安装

要在Chrome中使用Selenium Webdriver,需要安装ChromeDriver。

下载ChromeDriver

首先需要在官网上下载ChromeDriver,地址为:http://chromedriver.chromium.org/downloads

在下载页面中选择与目标Chrome浏览器版本对应的ChromeDriver版本进行下载即可。

安装ChromeDriver

下载完成后,将下载的文件解压缩,得到一个可执行文件。

Linux用户可以将该文件复制到/usr/local/bin目录下,然后添加可执行权限:

sudo cp chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver

Windows用户可以将该文件复制到一个目录下,例如D:\chromedriver,并将该目录添加到系统环境变量中。

使用

为了使用Selenium Webdriver,在Python代码中引入selenium库,并创建一个WebDriver实例即可。

安装selenium库
pip install selenium
创建WebDriver实例
from selenium import webdriver

# 创建Chrome浏览器的WebDriver实例
driver = webdriver.Chrome()

在创建WebDriver实例时,可以传入一些配置信息,如ChromeDriver的路径、Chrome浏览器的用户数据目录等。具体的配置项可以参考官方文档:https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.chrome.webdriver

打开网页
# 打开百度首页
driver.get('https://www.baidu.com')
查找元素

使用WebDriver的find_element_by_*方法可以查找网页中的元素,如:

# 根据id查找搜索框元素,并输入搜索关键词
search_box = driver.find_element_by_id('kw')
search_box.send_keys('Python')

# 根据class查找搜索按钮元素,并点击
search_button = driver.find_element_by_class_name('s_btn')
search_button.click()

更多查找方法可以参考官方文档:https://selenium-python.readthedocs.io/locating-elements.html

获取元素属性

获取元素的各种属性可以使用WebElement的get_attribute方法,如:

# 获取搜索框的值
search_box_value = search_box.get_attribute('value')
print(search_box_value)
截屏

可以使用WebDriver的get_screenshot_as_file方法对浏览器窗口进行截屏,如:

# 截屏保存为baidu.png
driver.get_screenshot_as_file('baidu.png')
关闭浏览器

完成测试后,需要关闭WebDriver实例,以释放浏览器资源,如:

# 关闭浏览器窗口
driver.quit()
总结

Selenium Webdriver是一个功能强大的浏览器自动化测试工具,通过ChromeDriver和Python的结合,可以方便地进行自动化测试和爬虫等操作。