python+selenium2--元素八种基本定位方式

Selenium的八种基本定位方式,但并不是只有这八种

一、通过ID定位

 1 from selenium import webdriver
 2 import time
 3 
 4 driver = webdriver.Firefox()
 5 
 6 driver.get("http://www.baidu.com")
 7 time.sleep(3)
 8 #通过元素ID定位
 9 #百度首页输入框 id='kw'
10 #<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd"/>
11 
12 driver.find_element_by_id('kw').send_keys('selenium自动化测试')
13 
14 #百度一下按钮 id=‘su’
15 #<input id="su" class="bg s_btn" type="submit" value="百度一下">
16 driver.find_element_by_id('su').click()

send.keys()    输入框输入字符

click()   鼠标点击事件

二、通过name定位

 1 from selenium import webdriver
 2 import time
 3 
 4 driver = webdriver.Firefox()
 5 driver.get("http://www.baidu.com")
 6 time.sleep(3)
 7 
 8 #通过元素name定位
 9 #百度首页输入框 name="wd"
10 #<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd"/>
11 driver.find_element_by_name('wd').send_keys('人生苦短,我用python')
12 
13 driver.find_element_by_id('su').click()

 

三、通过class_name定位

 1 from selenium import webdriver
 2 import time
 3 
 4 
 5 driver = webdriver.Firefox()
 6 driver.get('http://www.baidu.com')
 7 time.sleep(3)
 8 #通过元素classs_name定位
 9 #百度首页输入框 class='s_ipt'
10 #<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd"/>
11 
12 driver.find_element_by_class_name('s_ipt').send_keys('selenium自动化测试')
13 
14 #百度一下按钮 class="bg s_btn",中间有空格,所有是多个,只输入一个就可以了
15 #<input id="su" class="bg s_btn" type="submit" value="百度一下">
16 driver.find_element_by_class_name('s_btn').click()

四、通过tag_name定位

 1 from selenium import webdriver
 2 import time
 3 
 4 
 5 driver = webdriver.Firefox()
 6 driver.get('http://www.baidu.com')
 7 time.sleep(3)
 8 
 9 #通过元素tag_name定位
10 #百度首页输入框
11 #<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd"/>
12 
13 driver.find_element_by_tag_name('input').send_keys('selenium自动化测试')
14 
15 # 这里通过标签定位百度输入框是会报错的,因为页面上input标签有很多个
16 # 一般页面上标签一样的很多,通过标签无法直接定位到某个元素。
17 # 通常用于定位一组元素

 

五、通过link_text()定位

 1 from selenium import webdriver
 2 import time
 3 
 4 
 5 driver = webdriver.Firefox()
 6 driver.get('http://www.baidu.com')
 7 time.sleep(3)
 8 
 9 #通过link_text定位
10 
11 # <a class="mnav c-font-normal c-color-t" target="_blank" href="http://news.baidu.com">新闻</a>
12 
13 driver.find_element_by_link_text('新闻').click()

 

六、通过partial_link_text()定位

 1 from selenium import webdriver
 2 import time
 3 
 4 
 5 driver = webdriver.Firefox()
 6 driver.get('http://www.baidu.com')
 7 time.sleep(3)
 8 
 9 
10 #通过partial_link_text()定位
11 #一个很长的文本链接,如‘hao123’,可以截取其中的‘hao1’
12 #<a class="mnav c-font-normal c-color-t" target="_blank" href="https://www.hao123.com">hao123</a>
13 driver.find_element_by_partial_link_text('hao1').click()

 

七、通过Xpath语法定位

       python+selenium3--Xpath语法定位元素

八、通过Css语法定位

       python+selenium4--Css语法定位元素

 

posted @ 2020-09-20 21:05  莫使娇躯空对月  阅读(160)  评论(0编辑  收藏  举报