Web
网页自动化中的元素定位:为了在指定的元素上进行操作
如何才能那个进入元素定位:
1.了解元素的信息,网页中查看元素的信息
1)利用谷歌开发者工具--谷歌--右上角菜单--更多工具---开发者工具
右击定位元素--检查按钮
- 火狐开发者工具
第二个步骤:利用selenium中的元素定位api,去识别操作元素
开发者工具打开步骤:谷歌浏览器-右上角三个点--更多工具-- 开发者工具--找到定位工具
初级定位方法:
driver.find_element(By.NAME,'wd').send_keys('微博')#name识别
driver.find_element(By.ID,'kw').send_keys('微博')#id识别
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('微博')#class属性识别
driver.find_element(By.TAG_NAME,'input').send_keys('微博')#用的不多使用标签名定位
driver.find_element(By.LINK_TEXT,"图片").click()#文本识别
driver.find_element(By.PARTIAL_LINK_TEXT,"图片").click()#部分文本识别
高级定位方法:xpath css
第一种:绝对路径法 以/开头 从网页的根节点写道元素所在路径,如果当前路径只有一个不用下标,如果右多个使用下标从1开始
不推荐使用,因为只要元素变更,路径就失效了
绝对路径寻找方法:找到元素--右键--检查--定位工具定位元素---右键--copy--copy full path
driver.find_element(By.XPATH,'/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('微博') # 部分文本识别,
第二种方法:相对路径法,以//开头,从元素节点往上层级进行调试,写一层验证一层
driver.find_element(By.XPATH,"//span[1]/input").send_keys('微博')
#第三种方法:利用属性定位 //标签名[@属性名=属性值],第三种方法比较百搭
driver.find_element(By.XPATH,"//input[@maxlength='255']").send_keys('微博')
driver.find_element(By.XPATH,"//input[@id='kw']").send_keys('微博')



