当前位置: 首页 > news >正文

学习Python中Selenium模块的基本用法(7:元素操作-1)

  定位网页元素后,Selenium模块支持点击、发送文本或按键、清除内容等操作。本文以百度网站为例学习并测试这几类操作的基本用法。
首先是发送文本或按键,主要用到send_keys函数,如果是发送文本,则直接将文本内容作为函数入参即可,如果是发送按键,则可使用selenium.webdriver.common.keys定义的按键作为函数入参(按键类详细说明见参考文献6)。下面的示例找到百度网站的输入框,输入“网易邮箱地址”,然后模拟按回车键,代码及运行效果如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import timedriver = webdriver.Chrome()
driver.get("https://www.baidu.com")time.sleep(2)search_box = driver.find_element(By.ID, "chat-textarea") 
search_box.send_keys("网易邮箱地址")
search_box.send_keys(Keys.RETURN)time.sleep(3)first_result = driver.find_element(By.CSS_SELECTOR, "div.result:first-child h3 a")
first_result.click()

在这里插入图片描述

  点击操作主要调用click函数,调整上面的示例,输入搜素内容后,找到并点击搜索按钮,示例代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import timedriver = webdriver.Chrome()
driver.get("https://www.baidu.com")time.sleep(2)search_box = driver.find_element(By.ID, "chat-textarea") 
search_box.send_keys("网易邮箱地址")search_btn = driver.find_element(By.ID, "chat-submit-button") 
search_btn.click()time.sleep(3)first_result = driver.find_element(By.CSS_SELECTOR, "div.result:first-child h3 a")
first_result.click()

  清除内容操作主要调用clear函数,调整上面的示例,先输入搜素内容“网易邮箱地址”,点击搜索按钮,再找到新页面的输入框输入“qq邮箱地址”,再点击搜索按钮,最后点击第一个检索结果。示例代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import timedriver = webdriver.Chrome()
driver.get("https://www.baidu.com")time.sleep(2)search_box = driver.find_element(By.ID, "chat-textarea") 
search_box.send_keys("网易邮箱地址")search_btn = driver.find_element(By.ID, "chat-submit-button") 
search_btn.click()time.sleep(3)search_box = driver.find_element(By.ID, "chat-textarea") 
search_box.clear()
search_box.send_keys("qq邮箱地址")
time.sleep(3)search_btn = driver.find_element(By.ID, "chat-submit-button") 
search_btn.click()time.sleep(3)first_result = driver.find_element(By.CSS_SELECTOR, "div.result:first-child h3 a")
first_result.click()

在这里插入图片描述)

参考文献:
[1]https://www.selenium.dev/zh-cn/
[2]https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/
[3]https://blog.csdn.net/kk_lzvvkpj/article/details/148610502
[4]https://registry.npmmirror.com/binary.html?path=chromedriver/
[5]https://chromedriver.chromium.org/
[6]https://juejin.cn/post/7028451097559695397?from=search-suggest

http://www.dtcms.com/a/353394.html

相关文章:

  • 应变片与分布式光纤传感:核心差异与选型指南
  • 极海发布APM32F425/427系列高性能MCU:助力工业应用升级
  • laravel学习并连接mysql数据库
  • Linux 软件编程(十二)网络编程:TCP 并发服务器构建与 IO 多路复用
  • redis---set详解
  • Tortoisegit配置ssh教程
  • Vue3 新特性 defineModel 全面解析:让 v-model 写法更优雅
  • 项目智能家居---OrangePi全志H616
  • GitHub 宕机自救指南:保障开发工作连续性
  • 蓝桥杯算法之基础知识(3)——Python的idle的快捷键设置(idle改键)
  • 信任,AI+或人机环境系统智能的纽带
  • 深入解析EDCA通道与参数配置:优化Wi-Fi服务质量的关键策略
  • 新手向:网络编程完全指南
  • Jetson 分区知识全解与 OTA 升级实战
  • Containerd 安装与配置指南
  • 如何验证二叉搜索树:两种高效方法详解
  • 光伏设计平台:按组件数量铺设光伏板,精准控制投资成本
  • 推荐系统王树森(四)特征交叉+行为序列
  • 智能体前沿-主动信息获取理论基础
  • 汇川SV660A 伺服EMC电源滤波的安装要求及使用方法
  • Swift 解法详解 LeetCode 364:嵌套列表加权和 II
  • 【ConcurrentHashMap】实现原理和HashMap、Redis哈希的区别
  • 【Linux网络】网络基础
  • 如何高效地学习:从“死记硬背”到“内化创新”
  • 第二章从事件驱动到信号
  • ESP32使用场景及大规模物联网IoT
  • 【高级机器学习】3. Convex Optimisation
  • 海康相机的 HB 模式功能详解
  • 深入解析 OpenGL 着色器:顶点着色器与片段着色器
  • 无人驾驶叉车的核心作用:技术赋能下如何重塑工业物流的运作逻辑