selenium元素定位大全

selenium八大元素定位方式

driver.find_element_by_id(‘id’)  #id定位
driver.find_element_by_name(‘name’)  #name定位
driver.find_element_by_class_name(‘class’)  #classname定位 取class属性 class属性有空格是多重属性,取其中一个就行
driver.find_element_by_tag_name(‘input’)  #标签定位
driver.find_element_by_link_text(‘baidu.com’)  #超链接href定位 精准匹配
driver.find_element_by_xpath(’//[@id=“123”]’)  #xpath定位
driver.find_element_by_css_selector(‘css’)  #css定位
driver.find_element_by_partial_link_text(‘baidu’)  #超链接href定位 模糊匹配

XPATH定位

driver.find_element_by_xpath("//[@id=‘kw’]").send_keys(“hao”)  #通过id定位
driver.find_element_by_xpath("//[@id=‘kw’]")  #通过tag标签定位,匹配任何标签
driver.find_element_by_xpath("//input[@id=‘kw’]")  #指定标签名称定位
driver.find_element_by_xpath("//input[@class=‘s_ipt’]")  #通过class定位
driver.find_element_by_xpath("//input[@name=‘wd’]")  #通过name定位
driver.find_element_by_xpath("//input[@autocomplete=‘off’]")  #其他属性定位
driver.find_elements_by_xpath("//input[@type=‘text’ and @name=‘wd’]")  #多个属性定位
driver.find_element_by_xpath("//[text()=‘文本’]")  #文本定位

属性定位

driver.find_element_by_css_selector("#kw")  #通过id定位
driver.find_element_by_css_selector(".s_ipt")  #通过calss定位
driver.find_element_by_css_selector(“input”)  #通过标签定位
driver.find_element_by_css_selector("[name=‘kw’]")  #通过name定位
driver.find_element_by_css_selector("[autocomplete=‘off’]")  #通过autocomplete定位,不局限据这几种
driver.find_element_by_css_selector(“span>input”)  #父子定位
driver.find_element_by_css_selector(“form.fm>span>input.s_ipt”)  #组合定位
driver.find_element_by_css_selector(“form#form>span>input#kw”)  #组合定位
driver.find_element_by_css_selector(’[class=“form-control”][name=“account”]’)  #同时满足两个属性
driver.find_element_by_id(“h5Input0”).send_keys(“E:\123.txt”)  #文件上传

模糊匹配

driver.find_element_by_xpath("//a[contains(text(),‘糯’)]")  #模糊匹配糯开头的a标签
driver.find_element_by_xpath("//input[contains(@class,‘s_ip’)]")  #模糊匹配某个属性
driver.find_element_by_xpath("//input[starts-with(@class,‘s_ip’)]")  #模糊匹配以xx开头的

select下拉框多选项

driver.find_element_by_xpath(".//*[@id=‘nr’]/option[3]")  #直接通过xpath定位
driver.find_element_by_id(“nr”).find_element_by_xpath("//option[@value=‘50’]")  #先定位下拉框,然后再二次定位

posted @ 2021-04-27 16:14  superCarryVN  阅读(121)  评论(0)    收藏  举报