webdriver--Python

来源:互联网 发布:怎么在淘宝上发布宝贝 编辑:程序博客网 时间:2024/05/21 22:31

一、利用WebDriver定位网页元素:
1、find_element_by_id(“kw”)
2、find_element_by_name(“wd”)
3、find_element_by_class_name(“s_ipt”)
4、find_element_by_tag_name(“input”)
5、find_element_by_link_text(“新闻”) 精准匹配
6、find_element_by_partial_link_text(“一个很长的”) 模糊匹配
7、xpath定位
find_element_by_xpath(“/html/body/div/div[2]/div/div/div/from/span/input”) 绝对路径
find_element_by_xpath(“//input[@id=’kw’]”) 元素属性定位 input标签且id是kw
find_element_by_xpath(“//span[@class=’bg s_ipt_wr’]/input”) 层级与属性结合
find_element_by_xpath(“//input[@id=’kw’ and @class=’su’]/span/input”) 使用逻辑运算符
8、css定位
find_element_by_css_selector(“.s_ipt”)通过 .class 属性定位
find_element_by_css_selector(“#kw”)通过 #id 定位
find_element_by_css_selector(“span>input”)通过父子关系定位
find_element_by_css_selector(“[name=’kw’]”)通过属性定位
find_element_by_css_selector(“form.fm>span>input.s_ipt”)通过组合定位,calss属性为fm的form标签的下一级span的下一级calss属性为s_ipt的input标签

我们可以利用一些插件帮我们生成xpath、css语法。例如Firefox插件Firebug、FirePath

二、元素操作:
clear() 清除文本
send_keys(*value) 模拟按键输入
click() 单击元素
submit() 提交表单,例如搜索时的回车操作就可以用submit()模拟

size 返回元素的尺寸
text 获取元素的文本
get_attribute(name) 获得属性的值
is_displayed() 是否可见

例如 driver.find_element_by_id(“kw”).size
driver.find_element_by_id(“kw”).text
driver.find_element_by_id(“kw”).get_attribute(‘type’)
driver.find_element_by_id(“kw”).is_displayed()

在WebDriver中,鼠标操作的方法封装在ActionChains类
perform() 执行所有ActionChains中存储的行为
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停
使用时需要:
from selenium.webdriver.common.actions_chains import ActionChains

举例:
ActionChains(driver).context_click(driver.find_element_by_id(‘kw’)).perform()
ActionChains(driver).move_to_element(driver.find_element_by_id(‘kw’)).perform()
ActionChains(driver).double_click(driver.find_element_by_id(‘kw’)).perform()
ActionChains(driver).drag_and_drop(source,target).perform()

三、键盘事件:
先导入:
from selenium.webdriver.common.keys import Keys

常用的键盘操作:
send_keys(Keys.BACK_SPACE) 删除键
send_keys(Keys.SPACE) 空格键
send_keys(Keys.TAB) 制表键
send_keys(Keys.ESCAPE) 回退键
send_keys(Keys.ENTER) 回车键
send_keys(Keys.CONTROL,’a’) Ctrl+A
send_keys(Keys.CONTROL,’c’) Ctrl+C

send_keys(Keys.F1) F1键

四、获取验证信息
title 获取当前页面标题
current_url 获取当前页的url

举例:
print(driver.title)
print(driver.current_url)

原创粉丝点击