python+selenium初級(10)—八大定位方法
阿新 • • 發佈:2019-02-02
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定位元素
3.利用name定位元素#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()
# 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']")