selenium4-定位单个页面元素
2024-09-08 10:45:54
在操作各项页面元素之前,先介绍下如何通过Python代码来找到这些元素。WebDriver提供了18种元素定位方法,共分为两类(定位当个元素、定位组元素),本节先举例详细介绍下selenium4-定位单个页面元素的方法,注意和selenium3元素定位方法之间的区别。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service # 管理驱动程序的启动和停止
from selenium.webdriver.common.by import By # 通过ID定位页面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.ID, 'kw').send_keys('selenium') # 定位到百度搜索框,输入关键词
sleep(2)
driver.quit() # 通过name定位页面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.NAME, 'wd').send_keys('selenium')
sleep(2)
driver.quit() # 通过clas name定位页面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.CLASS_NAME, 's_ipt').send_keys('selenium')
sleep(2)
driver.quit() # 通过tag name定位页面元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.TAG_NAME, 'input').send_keys('selenium')
sleep(2)
driver.quit() # 通过链接中的全部文字定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.LINK_TEXT, '新闻').click()
sleep(2)
driver.quit() # 通过链接中的部分文字定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.PARTIAL_LINK_TEXT, '闻').click()
sleep(2)
driver.quit() # 通过XPath定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.XPATH, '//*[@id="s-top-left"]/a[1]').click()
sleep(2)
driver.quit() # 通过CSS定位元素
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys('selenium')
sleep(2)
driver.find_element(By.XPATH, '//*[@id="su"]').click()
sleep(2)
driver.quit()
后面小节我们继续讲解selenium4-定位组元素的方法。
最新文章
- Objective-C( Category 分类,非正式协议,分类延展)
- 2014-4-25 运行号:837344 ASCII码排序
- ACM常用算法及练习(2)
- C#正则表达式大全{转}
- [King.yue]Ext.Net 正则表达式用法
- hdoj 5124 lines【线段树+离散化】
- 菜鸟学习-C语言函数参数传递详解-结构体与数组 分类: C/C++ Nginx 2015-07-14 10:24 89人阅读 评论(0) 收藏
- asp.net uploadfile 上传文件,连接已重置问题
- C++ dynamic_cast实现原理
- StringMVC(拦截器)
- python原始字符串
- ORA-28000: the account is locked解决
- Linux:Day7(上) find、文件特殊权限、if语句
- Django基础(四)
- [Linux] - 利用ping给端口加密,限制访问
- 使用react封装评论组件
- Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- CRM项目hellokitty部分交互界面
- linux常用命令之scp详解
- UVa 10269 Adventure of Super Mario (Floyd + DP + BFS)
热门文章
- STC8H开发(十五): GPIO驱动Ci24R1无线模块
- Flutter-填平菜鸟和高手之间的沟壑
- Dolphin Scheduler 1.1.0升级1.2.0避坑指南
- 如果让我设计一套,TPS百万级API网关!
- shell中系统任务设置
- C# 使用if(DEBUG)调试 失效问题
- 利用Hugging Face中的模型进行句子相似性实践
- django_day02
- 完全解析Array.apply(null, { length: 1000 })
- BI系统的分布式部署原理和技术实现