介绍
前面我们已经学习了元素定位, 元素定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或输入(输入框),或返回一些信息;那么 下面就来认识 WebDriver 中最常用的几个方法:
1.点击和输入
常用的点击(按钮)或者输入(值)方法如下表格:
方法 | 说明 |
---|---|
clear() | 模拟删除键清除文本 |
send_keys(value) | 模拟按键将value值输入 |
click() | 模拟鼠标单击元素 |
下面举例说明:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
#使用id方法定位百度输入框,模拟输入python进行搜索
driver.find_element_by_id('kw').send_keys("python")
time.sleep(3)
#使用id方法定位百度输入框,删除输入的python
driver.find_element_by_id('kw').clear()
time.sleep(3)
#使用id方法定位百度输入框,模拟输入selenium
driver.find_element_by_id('kw').send_keys('selenium')
time.sleep(3)
#使用id方法定位百度一下按钮,对selenium搜索
driver.find_element_by_id('su').click()
driver.quit()
上面每步操作都用time函数延时三秒,方便读者看清脚本的执行过程。
2.提交 submit()
submit()方法用于提交表单。 例如, 在搜索框输入关键字之后的“回车” 操作, 就可以通过该方法模拟。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id('kw').send_keys('selenium')
driver.submit()
driver.quit()
有时候 submit()可以与 click()方法互换来使用, submit()同样可以提交一个按钮, 但click()的使用范围远比submit()更广泛。
3.其他一些常用方法
方法 | 说明 |
---|---|
size | 返回元素的尺寸 |
text | 获取元素的文本 |
get_attribute(name) | 获得元素的属性值 |
is_displayed() | 设置该元素是否用户可见 |
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
# 获得输入框的尺寸
size = driver.find_element_by_id('kw').size
print(size)
# 返回百度页面底部备案信息
text = driver.find_element_by_id("cp").text
print(text)
# 返回元素的属性值, 可以是 id、 name、 type 或其他任意属性
attribute = driver.find_element_by_id("kw").get_attribute('type')
print(attribute)
# 返回元素的结果是否可见, 返回结果为 True 或 False
result = driver.find_element_by_id("kw").is_displayed()
print(result)
driver.quit()
返回的结果
{'height': 22, 'width': 526}
©2016 Baidu 使用百度前必读 意见反馈 京ICP证030173号
text
True
执行上面的程序并查看结果: size 方法用于获取百度输入框的宽、 高, text 方法用于获得百度底部的备案信息, get_attribute()用于获得百度输入的 type 属性的值, is_displayed()用于返回一个元素是否可见, 如果可见则返回 True, 否则返回 False。