上一节我们知道了怎么在网站找到要操作的元素,这一节通过元素id属性操作元素;如果一个元素如果有ID属性那直接通过ID找到这个元素是最简单,因为id值在整个界面html文件的所有元素中是唯一的。
百度搜索输入框元素:
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
百度搜索按钮元素:
<input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn">
下面代码是打开谷歌浏览器打开百度网站,在输入框输入‘通信’,最后点击百度一下:
import time
from selenium import webdriver
from selenium.common import NoSuchElementException
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(service=Service(r'D:\python\学习项目\selenium\谷歌驱动\chromedriver.exe'))
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com/')
# 创建一个元素对象
time.sleep(1)
try:
输入框元素 = wd.find_element(By.ID,'kw') # 找到ID属性是kw的元素(输入框)
输入框元素.send_keys('通讯') # 操作这个元素输入'通讯'
搜索按钮元素 = wd.find_element(By.ID,'su') # 找到ID属性是go的元素(查询按钮)
搜索按钮元素.click() # 点击'百度一下'按钮
# 如果根据传入的ID,找不到这样的元素,find_element 方法就会抛出 selenium.common.exceptions.NoSuchElementException 异常
except NoSuchElementException:
print('没有这个元素')
input('暂停')