导语
selenium元素定位和常用方法类似,都是和HTML页面元素打交道,元素定位负责对元素进行定位,常用方法负责对元素做相应操作,两者配合一起使用完成UI自动化
基本方法
1.send_keys方法
此方法模拟键盘输入
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys(123)
2.text方法
selenium提供了text方法来获取文本值,即HTML的里的文字
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
name = driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]').text
print(name)
3.get_attribute()获取属性值
以百度首页的“百度一下”按钮为例,获取属性value对应的值,可以使用get_attribute方法实现
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
tmp = driver.find_element_by_id('su').get_attribute('value')
print(tmp)
driver.quit()
4.maximize_window方法
该方法用来实现窗口最大化的操作
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.quit()
5.current_window_handle方法
该方法返回窗口句柄,即标识窗口字符串
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
print(driver.current_window_handle)
driver.quit()
输出:
CDwindow-6169753D4993CF2844A8EEEB476B22FF
6.current_url方法
该方法获取当前窗口的url
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
print(driver.current_url)
driver.quit()
输出:
https://www.baidu.com/
7.is_selected()方法
判断元素是否被选择,多用于选择框,如果多选框是被选中的状态返回True,反之返回False
driver.find_element_by_id('su').is_selected()
8.is_enabled()
判断页面元素是否可用,可用则返回True,反之则返回False
driver.find_element_by_id('su').is_enabled()
9.is_displayed()方法
判断元素在页面中是否显示,显示则返回True,反之则返回False
driver.find_element_by_id('su').is_displayed()
10.clear()
清除输入框值,以百度搜索为例
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys(123)
sleep(2)
driver.find_element_by_id('kw').clear()
sleep(2)
driver.quit()
11.quit()
关闭浏览器并杀掉chromedriver进程,以Linux为例
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys(123)
sleep(2)
driver.find_element_by_id('kw').clear()
sleep(2)
driver.quit()
12.title
获取页面的title,以百度首页为例
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
print(driver.title)
driver.quit()
输出:
百度一下,你就知道
13.refresh()
刷新页面,类似于键盘上的F5
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
sleep(1)
driver.refresh()
sleep(1)
driver.quit()
14.back()
浏览器工具栏向后操作,以访问百度后输入内容并搜索,再返回到主页为例
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('python')
sleep(1)
driver.find_element_by_id('su').click()
sleep(1)
driver.back()
sleep(1)
driver.quit()
15.forward()
浏览器向前操作
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('python')
sleep(1)
driver.find_element_by_id('su').click()
sleep(1)
driver.back()
sleep(1)
driver.forward()
sleep(3)
driver.quit()