1. Selenium模块简介
Selenium是一个自动化测试工具,用于模拟用户在网页上的行为并进行测试。它提供了一组API,可以用多种编程语言(如Python,Java,C#等)编写测试脚本。使用Selenium可以模拟用户在浏览器中的交互,例如点击、输入、滚动、切换窗口等,也可以对网页进行截图、验证元素属性和内容等。
Selenium可以与多种浏览器(如Chrome,Firefox,IE等)进行集成,并支持多种操作系统(如Windows,Linux,Mac等)。它还可以与其他测试框架(如JUnit和TestNG)进行集成,以实现更复杂的测试。
Selenium的主要优点是其强大的自动化能力和灵活性。它可以用于测试各种Web应用程序,包括单页面应用程序和响应式设计网站。
2. 自动化测试
- 使用Chrome浏览器驱动程序创建一个WebDriver对象,即创建了一个Chrome浏览器的实例。
- 调用WebDriver对象的get()方法,发送请求并打开百度首页。
- 调用WebDriver对象的save_screenshot()方法,将当前页面保存为一张名为"baidu.png"的图片。
- 输出百度首页的title标签的文本内容。
- 关闭Chrome浏览器。
from selenium import webdriver
# 1.设置chrome浏览器驱动调用
# 1.1 没有设置到python.exe的目录中则需要指定驱动的位置
# driver = webdriver.Chrome(executable_path="E:\Anaconda3\chromedriver.exe")
# 1.2 设置位置
driver = webdriver.Chrome()
# 2.发送请求url
driver.get("https://www.baidu.com/")
# 3.将网页保存图片,截图
driver.save_screenshot("baidu.png")
# 4.输出百度网页的title标签
print(driver.title)
# 5.关闭谷歌浏览器
driver.quit()
3. 无界面运行
- 使用PhantomJS浏览器驱动程序创建一个WebDriver对象,即创建了一个PhantomJS浏览器的实例。
- 调用WebDriver对象的get()方法,发送请求并打开百度首页。
- 调用WebDriver对象的save_screenshot()方法,将当前页面保存为一张名为"baidu2.png"的图片。
- 关闭PhantomJS浏览器。
总的来说,下面代码的功能和上面提到的例子类似,只是使用了PhantomJS浏览器代替了Chrome浏览器,实现了打开百度首页,保存截图并关闭浏览器的功能。不同的是,PhantomJS是一个无界面浏览器,可以在后台运行,因此不会打开浏览器窗口,适用于一些需要自动化执行的任务。
from selenium import webdriver
# 1.指定phantomJS的路径
driver = webdriver.PhantomJS(executable_path="E:\phantomjs-2.1.1-windows\bin\phantomjs.exe")
# 2.指定url
driver.get("https://www.baidu.com/")
# 3.网页保存为图片
driver.save_screenshot("baidu2.png")
# 4.关闭
driver.quit()
4. 点击事件
- 使用Chrome浏览器驱动程序创建一个WebDriver对象,即创建一个Chrome浏览器的实例。
- 调用WebDriver对象的get()方法,发送请求并打开智联招聘首页。
- 查找id值为"k"的搜索框,并在其中输入关键字"工程师"。
- 查找class值为"searchBtn"的搜索按钮&