目录
1. 元素定位方法
2. 使用id定位:通过元素的id属性来进行元素的获取,一般id是不会重复的
3. 使用name定位:通过元素的name属性来进行元素的获取,有可能会重名
4. 使用tag_name定位:通过元素的标签名称来进行元素的获取,一定会重名,一般在自动化中几乎不用
5. 使用lass_name定位:通过元素的class属性来进行元素的获取
6. 使用xpath定位:通过xpath表达式进行定位
7. 使用link_text定位:通过元素的文本来进行定位
8. 使用partial_link_text定位:与link text一样通过文本来定位,只是说通过模糊查找的方式来实现元素的定位
9. 使用css_selector定位:基于class属性来进行定位的
1. 单个元素定位find_element:会返回被定位元素的值,如果没有定位到程序会报错
2. 多个元素定位find_elements:会返回被定位元素的多个值(以列表的方式存储),如果没有定位,返回一个空列表
3. selenium中定位元素的8大方法:id、name、class_name、tagname、xpath、link_text、partial_link_text、css_selector
【百度输入框】
driver.find_element(By.ID, 'kw').send_keys('1111')
driver.find_element(By.NAME,'wd').send_keys('2222')
elements = driver.find_elements(By.TAG_NAME,'a')
for e1 in elements:
if '地图' in e1.text:
e1.click()
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('3333')
注意:xpath是相对路径,full xpath是绝对路径
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('4444')
driver.find_element(By.LINK_TEXT, "地图").click()
模糊查询一般默认第一个查到的关键字对应的
driver.find_element(By.PARTIAL_LINK_TEXT, "中").click()
css选择的属性:【id:#id】 【name:[name=wd]】 【class(类选择器):.s_ipt】
driver.find_element(By.CSS_SELECTOR, "#kw").send_keys('555')
sleep(3)
driver.find_element(By.CSS_SELECTOR, "#kw").clear()
driver.find_element(By.CSS_SELECTOR, "[name=wd]").send_keys('666')
sleep(3)
driver.find_element(By.CSS_SELECTOR, "[name=wd]").clear()
driver.find_element(By.CSS_SELECTOR, ".s_ipt").send_keys('777')