No.2 selenium学习之路之八种基本定位

时间:2022-12-25 21:37:45

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()  鼠标悬停

鼠标悬停为重点

No.2 selenium学习之路之八种基本定位

 

鼠标拖放:

  drag_and_drop(source,target)

  source鼠标拖动的源元素

  target鼠标释放的目标元素

 No.2 selenium学习之路之八种基本定位

 

 

键盘事件

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)

 

No.2 selenium学习之路之八种基本定位