元素定位
一、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
Comments