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

学习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.xdnf.cn/news/19112.html

相关文章:

  • 【golang长途旅行第33站】常量------补充知识点
  • golang 12 package 和 module
  • Docker 入门指南:从基础概念到常见命令及高级工具详解
  • C++:知识点小结
  • vue2 watch 的使用
  • 从 WPF 到 Avalonia 的迁移系列实战篇1:依赖属性的异同点与迁移技巧
  • LangChain4j入门一:LangChain4j简介及核心概念
  • Python计算点云的欧式、马氏、最近邻、平均、倒角距离(Chamfer Distance)
  • 嵌入式C语言进阶:高效数学运算的艺术与实战
  • MySQL 8 与 PostgreSQL 17 对比分析及迁移指南
  • 【网络】网络基础概念
  • HarmonyOS安全开发实战:一套好用的数据加密方案
  • mysql mvcc机制详解
  • Java全栈开发面试实战:从基础到微服务架构的深度解析
  • IntelliJ IDEA Debug 模式功能指南
  • 替身演员的艺术:pytest-mock 从入门到飙戏
  • 寻找AI——初识墨刀AI
  • 极海发布APM32F425/427系列高性能MCU:助力工业应用升级
  • Ansible模块实战,操作技巧
  • 【C#】获取不重复的编码(递增,非GUID)
  • 怎么理解API?
  • R-Zero:通过自博弈机制让大语言模型无需外部数据实现自我进化训练
  • LeetCode-238除自身以外数组的乘积
  • 大脑的藏宝图——神经科学如何为自然语言处理(NLP)的深度语义理解绘制新航线
  • PowerShell下vim编辑文件时产生的额外文件
  • 网站防爆破安全策略分析
  • KingBase数据库迁移利器:KDTS工具 MySQL数据迁移到KingbaseES实战
  • 学习设计模式《二十四》——访问者模式
  • 【数字投影】创新展厅视觉体验,3D Mapping投影全面解读
  • LaTeX论文转word插入mathtype公式