02月25, 2020

Selenium+Python元素定位方法

元素定位

一、id定位

driver.find_element_by_id("txtUaserName").send_keys("容音@lily")

二、name定位

driver.find_element_by_name("username").send_keys("容音@lily")

三、class定位

driver.find_element_by_class_name("")

四、tag定位

driver.find_element_by_tag_name("input")

五、link定位

driver.find_element_by_link_text("忘记密码").click()

六、partial link定位

driver.find_element_by_partial_link_text("忘记").click()

七、XPath定位

1、绝对路径定位 ··· driver.find_element_by_xpath("/html/body/div/div[2]/div[1]/div[3]/div/button").click() ···

2、利用元素属性定位

driver.find_element_by_xpath("//input[@id='txtUaserName']").send_keys("容音@lily")

3、Xpath元素属性定位

driver.find_element_by_xpath("//input[@type='button']").click()

//表示当前页面某个目录下,input表示定位元素的标签名, [@id='txtUaserName']表示当前元素的ID值等于txtUaserName'

3、层级与属性结合

如果元素属性没有可利用的属性值,则可以查找上一级属性

#xpath层级与属性结合

driver.find_element_by_xpath("//p[@class='ng-scope']/input").send_keys("容音@lily")

4、使用逻辑运算符

使用逻辑运算符连接多个属性来查找元素

driver.find_element_by_xpath("//input[@id='txtUaserName'and @name='username']").send_keys("容音@lily")

八、CSS定位

1、class属性定位

2、id属性定位

模拟键盘事件(回车、删除、刷新等

键值 解释
send_keys(Keys.BACK_SPACE) 删除键BackSpace
send_keys(Keys.SPACE) 空格键Space
send_keys(Keys.TAB) 制表键Tab
send_keys(Keys.ESPACE) 回退键Esc
send_keys(Keys.ENTER) 回车键Enter
send_keys(Keys.CONTROL,‘a’) 全选Ctrl+A
send_keys(Keys.CONTROL,‘c’) 复制CTRL+C
send_keys(Keys.CONTROL,‘x’) 剪切CTRL+X
send_keys(Keys.CONTROL,‘v’) 粘贴Ctrl+V
send_keys(Keys.F1) 键盘F1
send_keys(Keys.F12) 键盘F12

问题:如果遇到以下错误,是没有导入Keys导致的 from selenium.webdriver.common.keys import Keys

本文链接:https://blog.jnliok.com/post/Selenium+Python-yuan-su-ding-wei-fang-fa.html

-- EOF --

Comments