selenium4-定位單個頁面元素
在操作各項頁面元素之前,先介紹下如何通過Python程式碼來找到這些元素。WebDriver提供了18種元素定位方法,共分為兩類(定位當個元素、定位組元素),本節先舉例詳細介紹下selenium4-定位單個頁面元素的方法,注意和selenium3元素定位方法之間的區別。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service # 管理驅動程式的啟動和停止
from selenium.webdriver.common.by import By
# 通過ID定位頁面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.ID, 'kw').send_keys('selenium') # 定位到百度搜索框,輸入關鍵詞
sleep(2)
driver.quit()
# 通過name定位頁面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.NAME, 'wd').send_keys('selenium')
sleep(2)
driver.quit()
# 通過clas name定位頁面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.CLASS_NAME, 's_ipt').send_keys('selenium')
sleep(2)
driver.quit()
# 通過tag name定位頁面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.TAG_NAME, 'input').send_keys('selenium')
sleep(2)
driver.quit()
# 通過鏈接中的全部文字定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.LINK_TEXT, '新聞').click()
sleep(2)
driver.quit()
# 通過鏈接中的部分文字定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.PARTIAL_LINK_TEXT, '聞').click()
sleep(2)
driver.quit()
# 通過XPath定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').click()
sleep(2)
driver.quit()
# 通過CSS定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("//www.baidu.com")
driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys('selenium')
sleep(2)
driver.find_element(By.XPATH, '//*[@id="su"]').click()
sleep(2)
driver.quit()
後面小節我們繼續講解selenium4-定位組元素的方法。