1. 程式人生 > >python+selenium初級(10)—八大定位方法

python+selenium初級(10)—八大定位方法

selenium定位有八種方法,id、name、class、tag、link_text、partial_link_text、css、xpath

1.利用id定位元素

#coding=utf-8

from selenium import webdriver
import  time
driver =webdriver.Firefox()
driver.get('http://rc.dodowork.cn/')
driver.find_element_by_id('username').clear()
driver.find_element_by_id('username').send_keys('15619026999')

2.利用class定位元素
#coding=utf-8

from selenium import webdriver
import  time
driver =webdriver.Firefox()
driver.get('http://rc.dodowork.cn/')
driver.find_element_by_id('username').clear()
driver.find_element_by_id('username').send_keys('15619026989')
driver.find_element_by_id('password').clear()
driver.find_element_by_id('password').send_keys('liyan111')
driver.find_element_by_class_name('inpu_btn').click()
3.利用name定位元素
# coding=utf-8  
  
from selenium import webdriver  
  
driver = webdriver.Chrome()  
driver.maximize_window()  
driver.implicitly_wait(6)  
  
driver.get("https://www.baidu.com")  
try:  
    driver.find_element_by_name("wd")  # 這裡百度搜索輸入框有name = 'wd'這個節點資訊  
    print ('test pass: element found by name value')  
except Exception as e:  
    print ("Exception found", format(e))  
  
driver.quit()  

4.利用tag定位元素
# coding=utf-8  
  
from selenium import webdriver  
  
driver = webdriver.Chrome()  
driver.maximize_window()  
driver.implicitly_wait(6)  
  
driver.get("https://www.baidu.com")  
try:  
    driver.find_element_by_tag_name("form")  
    print ('test pass: tag name found')  
except Exception as e:  
    print ("Exception found", format(e))  
  
driver.quit()  
5.利用link_text定位元素
# coding=utf-8  
  
from selenium import webdriver  
  
driver = webdriver.Chrome()  
driver.maximize_window()  
driver.implicitly_wait(6)  
  
driver.get("https://www.baidu.com")  
try:  
    driver.find_element_by_link_text("新聞")  
    print ('test pass: element found by link text')  
except Exception as e:  
    print ("Exception found", format(e))  
  
driver.quit()  

6.利用partial_link_text定位元素
# coding=utf-8  
  
from selenium import webdriver  
  
driver = webdriver.Chrome()  
driver.maximize_window()  
driver.implicitly_wait(6)  
  
driver.get("https://www.baidu.com")  
try:  
    driver.find_element_by_partial_link_text("主頁").click()  
    print ('test pass: element found by partial link text')  
except Exception as e:  
    print ("Exception found", format(e))  
  
driver.quit() 

7.利用CSS定位元素
# coding=utf-8  
  
from selenium import webdriver  
  
driver = webdriver.Chrome()  
driver.maximize_window()  
driver.implicitly_wait(6)  
  
driver.get("https://www.baidu.com")  
try:  
    driver.find_element_by_css_selector("#su") # 找 百度一下 這個按鈕  
    print ('test pass: element found by css selector')  
except Exception as e:  
    print ("Exception found", format(e))  
  
driver.quit()  
8.利用xpath定位元素
login_form = driver.find_element_by_xpath("/html/body/form[1]")
login_form = driver.find_element_by_xpath("//form[1]")
login_form = driver.find_element_by_xpath("//form[@id='loginForm']")