本章主要學習利用find_element(by)定位元素,通過百度搜索編輯框進行學習:
前面我們學習了selenium的八種定位方式
通過by定位元素,使用的方法是:
find_element()
它包含兩個參數:
第一個參數是定位方式,這個由 By 提供;另
第二個參數是定位的值
特別注意:
在使用by是需要將by類導入,即from selenium.webdriver.common.by import By
如:
find_element(By.ID,"kw")
find_element(By.NAME,"wd")
find_element(By.CLASS_NAME,"s_ipt")
find_element(By.TAG_NAME,"input")
find_element(By.LINK_TEXT,u"新聞")
find_element(By.PARTIAL_LINK_TEXT,u"新")
find_element(By.XPATH,"//*[@class='bg s_btn']")
find_element(By.CSS_SELECTOR,"span.bg s_btn_wr>input#su")
1 # coding=utf-8 2 from selenium import webdriver 3 from selenium.webdriver.common.by import By 4 import time 5 6 driver = webdriver.Chrome() 7 driver.maximize_window() 8 driver.implicitly_wait(5) 9 10 driver.get("http://www.baidu.com") 11 try: 12 driver.find_element(By.NAME, "wd").send_keys("selenium") 13 driver.find_element(By.XPATH, "//*[@value='百度一下']").click() 14 time.sleep(3) 15 print("測試通過,By定位成功") 16 except Exception as e: 17 print("測試失敗,By定位失敗", format(e)) 18 driver.quit()
通過selenium的單元素定位,我個人推薦xpath。不過總的來說只要能夠定位成功元素,達到目的你就成功了。