1.前8种常用的元素定位方法:
1.id定位:driver.find_element_by_id(" ")
2.Name定位:driver.find_element_by_name(" ")
3.Class定位:driver.find_element_by_class_name(" ")
4.Tag定位:driver.find_element_by_tag_name(" ")
5.Link定位:driver.find_element_by_link_text(" ")
6.Partial_link定位:driver.find_element_by_Partial_link_text(" ")
7.Xpath定位:driver.find_element_by_xpath(" ")
8.css定位:driver.find_element_by_css_selector(" ")
from selenium import webdriver import time driver = webdriver.Firefox() driver.get(‘https://www.baidu.com/‘) title = driver.title print(title) driver.find_element_by_id("kw").send_keys("python") #通过id定位搜索框,用send_keys输入文本 driver.find_element_by_id("su").click() #点击事件 time.sleep(3) driver.find_element_by_link_text(u"百度首页").click() #通过link属性定位, 加 u 的作用是把中文字符串转换成unicode 编码 driver.find_element_by_partial_link_text("ao123").click() #partial_link是一种模糊匹配的方式,对于超长字符串截取其中一部分 driver.back() driver.find_element_by_name("wd").send_keys("花儿爷") #使用name属性定位 driver.find_element_by_id("su").click() driver.back() time.sleep(3) driver.find_element_by_class_name("s_ipt").send_keys("苏宁易购") #使用class属性定位 driver.find_element_by_id("su").submit() #模拟键盘enter键 driver.back() time.sleep(3) #driver.find_element_by_tag_name("input").send_keys("python") #通过tag标签定位,运行会报错,不建议使用 ‘‘‘ #通过css定位方法 #1.通过元素的id、name、class这些属性定位 driver.find_element_by_css_selector("#kw").send_keys("python") #css通过id定位 driver.find_element_by_css_selector(".s_ipt").send_keys(‘python‘) # .号后面跟的是class属性, class="s_ipt" driver.find_element_by_css_selector("[name=‘wd‘]").send_keys(‘python‘) # css通过name属性定位 driver.find_element_by_css_selector("[autocomplete=‘of‘]").send_keys(‘python‘) #css通过autocomplete属性定位 driver.find_element_by_css_selector("[type=‘text‘]").send_keys(‘python‘) #css通过type属性定位 #2.css层级 driver.find_element_by_css_selector("form#form>span>input").send_keys(‘python‘) driver.find_element_by_css_selector("form.fm>span>input").send_keys(‘python‘) 3.css索引定位 driver.find_element_by_css_selector("select#nr>option:nth-child(1)").click() ‘‘‘ #driver.find_elements_by_xpath(".//*[@id=‘kw‘]").send_keys("python") #通过路径定位 ‘‘‘ #1.使用绝对路径xpath定位 dr.find_element_by_xpath("/html/body/div[3]/div[1]/div/div[1]/div/form/span[1]/input").send_keys(‘0‘) # 2.使用相对路径的xpath定位 通过元素的id、name、class这些属性定位 driver.find_element_by_xpath("//*[@id=‘kw‘]").send_keys("python") driver.find_element_by_xpath("//*[@name=‘wd‘]").send_keys("python") driver.find_element_by_xpath("//*[@class=‘s_ipt‘]").send_keys("python") #3.xpath层级,元素属性不明显时可以定位父元素 driver.find_element_by_xpath("//span[@id=‘s_kw_wrap‘]/input").send_keys("python") #通过定位父元素来定位 driver.find_element_by_xpath("//form[@id=‘form]/span/input").send_keys("python") #通过定位爷爷元素来定位 #4.xpath索引定位,元素兄弟一样,无法通过层级定位,指定索引 driver.find_element_by_xpath("//select[@id=‘nr‘]/option[1]").click #索引值通过1算起的 driver.find_element_by_xpath("//select[@id=‘nr‘]/option[2]").click ‘‘‘ driver.quit()
后几种复数形式定位方法,定位到的是一组元素返回的是一个队列:
- id定位:driver.find_elements_by_id(" ")
- Name定位:driver.find_elements_by_name(" ")
- Class定位:driver.find_elements_by_class_name(" ")
- Tag定位:driver.find_elements_by_tag_name(" ")
- Link定位:driver.find_elements_by_link_text(" ")
- Partial_link定位:driver.find_elements_by_Partial_link_text(" ")
- Xpath定位:driver.find_elements_by_xpath(" ")
- css定位:driver.find_elements_by_css_selector(" ")
原文地址:https://www.cnblogs.com/huaerye/p/9325159.html
时间: 2024-10-05 23:25:17