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("http://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("http://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("http://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("http://www.baidu.com")
driver.find_element(By.TAG_NAME, 'input').send_keys('selenium')
sleep(2)
driver.quit()
注意:一般情况下tag name不唯一,这种方法不建议使用,在下个小节中我们将采用组元素定位,使用tag name来实现定位百度搜索框。
# 通过链接中的全部文字定位元素 service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe") driver = webdriver.Chrome(service=service) driver.get("http://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("http://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("http://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("http://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-定位组元素的方法。

posted @ 2022-10-18 07:55  淘气的包子  阅读(239)  评论(0编辑  收藏  举报