selenium常用方法

导语

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()
原文地址:https://www.cnblogs.com/Jerry165/p/13702451.html