一、根据class属性选择元素:
语法:
#以class属性为例,Eegd浏览器: from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.common.by import By # 创建webDriver实例对象,指明使用chrome浏览器驱动 wb = webdriver.Edge(service=Service(r'C:\Program Files (x86)\Microsoft\Edge\Application\msedgedriver.exe')) #打开网页: wb.get('https://www.baidu.com') # 根据 class name 选择元素,返回的是一个列表 # 里面 都是class属性值为animal的元素对应的WebElement对象 elements = wb.find_elements(By.CLASS_NAME, 'title-content-title') #取出列表中的每个WebElement对象,打印出其text属性的值 #text属性就是该Webelement对象对应的元素在网页中的文本内容 for element in elements: print(element.text) |
运行结果为:
使用tag名选择元素语法:
elements = wb.find_elements(By.TAG_NAME, '对应元素内容')
二、通过WebElement对象选择元素
首先了解WebElement和WebDriver的区别:
WebElement | WebDriver |
对象选择元素的范围是该元素的内部 | 对象选择元素的范围为整个web页面 |
语法格式:
from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.common.by import By from selenium.common.exceptions import NoSuchElementException # 创建webDriver实例对象,指明使用chrome浏览器驱动 wb = webdriver.Edge(service=Service(r'C:\Program Files (x86)\Microsoft\Edge\Application\msedgedriver.exe')) # 调用WebDriver对象的get方法 可以让浏览器打开指定网址: wb.get('http://www.byhy.net/_files/stock1.html') # 根据ID选择元素,返回的就是该元素对应的WebElement对象 element = wb.find_element(By.ID, 'kw') # 通过该WebElement对象,就可以对页面元素进行操作 #比如输入字符串到这个输入框中 element.send_keys('通讯') # 寻找个体元素 element = wb.find_element(By.ID,'go') element.click() #进行寻找元素并打印 element = wb.find_element(By.ID,'1') print(element.text) #结束语句 wb.quit() |