一、简介
Selenium是一个自动化测试框架,它支持多种浏览器,包括Chrome、Firefox、IE等,并提供了一系列的API供开发者使用。Selenium主要包括三个部分:Selenium IDE、Selenium Client、Selenium WebDriver。其中Selenium WebDriver是Selenium的核心部分,是使用最广泛的一部分。
二、Selenium WebDriver
Selenium WebDriver是Selenium的最核心的部分,它提供了一系列的API,供开发者使用。Selenium WebDriver的主要作用是模拟用户的行为进行自动化测试。
在使用Selenium WebDriver时,我们需要安装合适的浏览器驱动程序。例如,如果我们要使用Chrome浏览器进行测试,我们需要下载Chrome浏览器对应的驱动程序。下载地址为:https://sites.google.com/a/chromium.org/chromedriver/downloads
三、常用API
1. WebDriver
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
这段代码的作用是创建了一个Chrome浏览器的WebDriver实例,并访问百度首页。
2. WebElement
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
element = driver.find_element_by_id("kw")
print(element)
这段代码的作用是创建了一个Chrome浏览器的WebDriver实例,并访问百度首页。然后通过元素的ID查找到百度首页的搜索框,并打印出该元素。
3. ActionChains
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
element = driver.find_element_by_id("kw")
actions = ActionChains(driver)
actions.click(element).perform()
这段代码的作用是创建了一个Chrome浏览器的WebDriver实例,并访问百度首页。然后通过元素的ID查找到百度首页的搜索框,并进行了一次鼠标左键点击操作。
四、常用操作
1. 元素定位
Selenium提供了多种方法用于定位元素,包括ID、Name、Class Name、Tag Name、Link Text、Partial Link Text和Xpath。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
element1 = driver.find_element_by_id("kw")
element2 = driver.find_element_by_name("wd")
element3 = driver.find_element_by_class_name("s_ipt")
element4 = driver.find_element_by_tag_name("input")
element5 = driver.find_element_by_link_text("新闻")
element6 = driver.find_element_by_partial_link_text("新")
element7 = driver.find_element_by_xpath("//input[@id='kw']")
这段代码分别使用了ID、Name、Class Name、Tag Name、Link Text、Partial Link Text和Xpath这七种方法进行元素定位。
2. 鼠标操作
Selenium提供了多种方法用于模拟鼠标操作,包括单击、双击、右键单击、拖放等。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
element = driver.find_element_by_id("kw")
actions = ActionChains(driver)
actions.click(element).perform() # 单击元素
actions.double_click(element).perform() # 双击元素
actions.context_click(element).perform() # 右键单击元素
3. 键盘操作
Selenium提供了多种方法用于模拟键盘操作,包括输入文本、删除、回车、Tab等。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
element = driver.find_element_by_id("kw")
element.send_keys("Selenium")
element.send_keys(Keys.ENTER) # 输入回车,等同于点击Enter键
五、总结
本文主要介绍了Selenium的基本概念、Selenium WebDriver的功能以及常用API和操作。开发者可以根据自己的需要进行API的调用和操作。Selenium是一个强大的自动化测试框架,它可以大大提高测试效率,减少测试成本。