selenium的八种定位方式
1.通过id定位 find_element_by_id()
send_keys() 输入框输入字符串
click() 鼠标点击事件
注:send_keys输入中文时,需要在前面添加“u”
2.通过name定位
find_element_by_name()
3.通过class定位
find_element_by_class_name()
4.通过tag定位
find_element_by_tag_name()
页码上标签一样的很多,那么通过tag是无法定位到某个元素
通常用于定位一组元素
5.通过link定位
find_element_by_link_text()
6.通过partial link定位
find_element_by_partial_link_text()
一个很长的文本,可以截取部分定位
7.XPath是一种在XML文档中定位元素的语言
//表示当前页面某个目录下,input表示单位元素的标签名,[@id= 'kw' ]表示这个元素的id属性值等于kw,如果不想制定标签名,也可以用星号(*)代替,表示当前节点
driver.find_element_by_xpath("//input[@id='kw']").send_keys("123")
driver.find_element_by_xpath(".//*[@id='su']").click()
8.CSS定位
driver.find_element_by_css_selector("#kw").send_keys("123")
定位单一元素时,要保证元素是唯一的。
把定位工具切换到HTML,然后输入元素,确定是否是唯一
find_element()方法只用于定位元素
需要两个参数,一个是定位方式,一个是定位的值。
定位方式by,需要导入by类:
from selenium.webdriver.common.by import By
find_element(By.ID,"kw")
常规操作:
1.切换iframe
driver.switch_to_frame("x-URS-iframe")
2.清空输入框
find_element_by_name("email").clear()
3.输入文本信息
send_keys()
4.鼠标单击
click(0
5.模拟回车操作
submit()
模拟回车的时候,需要光标在密码框
鼠标事件
from selenium.webdriver.common.action_chains import ActionChains
contest_click() 右击
double_click() 双击
drag_and_drop(source,target) 拖动
move_to_element() 鼠标悬停
鼠标悬停为重点
鼠标拖放:
drag_and_drop(source,target)
source鼠标拖动的源元素
target鼠标释放的目标元素
键盘事件
from selenium.webdriver.common.keys import Keys
删除键backspace:
send_keys(Keys.BACK_SPACE)
空格键space:
send_keys(Keys.SPACE)
制表键Tab:
send_keys(Keys.TAB)
回退键Esc:
send_keys(Keys.ESC)
回车键Enter:
send_keys(Keys.ENTER)
全选ctrl+a:
send_keys(Keys.CONTROL,'a')
复制ctrl+c:
send_keys(Keys.CONTROL,'c')
剪切ctrl+x:
send_keys(Keys.CONTROL,'x')
粘贴ctrl+v:
send_keys(Keys.CONTROL,'v')
键盘F1
send_keys(Keys.F1)
键盘F5
send_keys(Keys.F5)
键盘F12
send_keys(Keys.F12)