概述
学习小结:
这里使用ChromeV73+web driver 2.46
1 #几种定位方式: 2 #Autotest.py 3 from selenium import webdriver 4 from selenium.webdriver.common.by import By 5 import time 6 7 dr = webdriver.Chrome() 8 dr.get("http://www.baidu.com") 9 10 #通过各种元素:name,id,class,tag,text 11 12 dr.find_element_by_name('wd').send_keys('apple') #name 13 dr.find_element_by_id('su').click #id 14 dr.find_element_by_class_name('s_ipt').send_keys('apple') #class 15 dr.find_element_by_tag_name('') #tag 16 dr.find_element_by_link_text('新闻').click() #通过文字链接打开下级页面 17 dr.find_element_by_partial_link_text('一段很长的').click()#通过长文字的一部分定位元素 18 19 20 #从一组相同标签的元素里找到目标元素 21 inputs = dr.find_elements_by_tag_name('input') 22 for i in inputs: 23 if i.get_attribute('name') == "wd": 24 i.send_keys('apple') 25 dr.find_element_by_id('su').click() 26 27 28 #xpath定位元素: 29 dr.find_element_by_xpath("//input[@id='kw']").send_keys("天气") #xpath定位元素:input下面: id='kw' 30 dr.find_element_by_xpath("//*[@id='kw']").send_keys("天气") #xpath定位元素:*=查找所有元素: id='kw' 31 32 #父标签form,id='form' 下面第1个标签/span下面第1个/input(如果要定位的span是第二个则为/span[2]) 33 dr.find_element_by_xpath("//form[@id='form']/span[1]/input[1]").send_keys("天气") #这里【1】可以省略,只是为了理解 34 35 dr.find_element_by_xpath("/html/body/div/div/div/div/div/form/span/input").send_keys('天气') #xpath: 绝对路径定位元素 36 37 #css选择器定位: 38 dr.find_element_by_css_selector('.s_ipt').send_keys("天气") #.class 39 dr.find_element_by_css_selector('#kw').send_keys("天气") #ID 40 dr.find_element_by_css_selector('input[maxlength="255"]').send_keys("天气") 41 42 #下面这个意思是css定位:标签form(.表示class)class='fm' 下面的子标签span 的 子标签 input的 id='kw'(#表示id) 43 dr.find_element_by_css_selector('form.fm > span > input#kw').send_keys("天气") 44 45 46 #By类定位,需要引入By类 47 #dr.find_element(By.ID,'kw').send_keys('天气') 48 #dr.find_element(By.NAME,'wd').send_keys('天气') 49 #dr.find_element(By.CLASS_NAME,'s_ipt').send_keys('天气') 50 #dr.find_element(By.TAG_NAME,'input').send_keys('天气') #这里定位不到,需要类似上面的for循环 51 #dr.find_element(By.LINK_TEXT,u'新闻').click() 52 #dr.find_element(By.PARTIAL_LINK_TEXT,u'新').click() 53 #dr.find_element(By.XPATH,"//*[@class='s_ipt']").send_keys('天气') 54 #dr.find_element(By.CSS_SELECTOR,'form.fm > span > input#kw').send_keys('天气') 55 56 time.sleep(3) 57 dr.quit() 58 59
转载于:https://www.cnblogs.com/xier/p/10545156.html
最后
以上就是缓慢枕头为你收集整理的Selenium3+python几种定位元素的方法的全部内容,希望文章能够帮你解决Selenium3+python几种定位元素的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复