#从selenium 中导入 webdriver 类 –这里的类就是一个共性的抽象,如动作,跑、走、跳都是动作的具体分支,动作是一种共性的抽象,但跑却是实实在在具体到物体的,这就是对象
#类 –> 对象 ,更像是 设计图 à 现实中具体的虚实,对象是类的代言人,所以每个代言人都有类的共性东西,但具体到每个代言人却可以是不同的
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')
# 程序运行完会自动关闭浏览器,就是很多人说的闪退
# 这里加入等待用户输入,防止闪退
element = wd.find_element(By.ID,'kw')
element.send_keys("通讯")
element = wd.find_element(By.ID,'su')
element.click()
wd.get('https://cdn2.byhy.net/files/selenium/sample1.html')
# 根据 tag name 选择元素,返回的是 一个列表 # 里面 都是 tag 名为 div 的元素对应的 WebElement对象
element = wd.find_element(By.CLASS_NAME, 'animal')
print(element.text)
# 根据 class name 选择元素,返回的是 一个列表 # 里面 都是class 属性值为 animal的元素对应的 WebElement对象
elements = wd.find_elements(By.CLASS_NAME, 'animal')
# 取出列表中的每个 WebElement对象,打印出其text属性的值 # text属性就是该 WebElement对象对应的元素在网页中的文本内容
for element in elements:
print(element.text)
#被赋值的变量名其实不用看,看wd所使用的函数或对象,find_element和find_elements,这两个函数的区别,就是后者多了一个s
<body>
<div class="plant"><span>土豆</span></div>
<div class="plant"><span>洋葱</span></div>
<div class="plant"><span>白菜</span></div>
<div class="animal"><span>狮子</span></div>
<div class="animal"><span>老虎</span></div>
<div class="animal"><span>山羊</span></div>
</body>
在筛选html元素中 特定属性,单数默认只返回所筛选文本中的第一个,复数则返回所有筛选到的元素
例子引用up白月黑羽