在操作各项页面元素之前,先介绍下如何通过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-定位组元素的方法。

最新文章

  1. Objective-C( Category 分类,非正式协议,分类延展)
  2. 2014-4-25 运行号:837344 ASCII码排序
  3. ACM常用算法及练习(2)
  4. C#正则表达式大全{转}
  5. [King.yue]Ext.Net 正则表达式用法
  6. hdoj 5124 lines【线段树+离散化】
  7. 菜鸟学习-C语言函数参数传递详解-结构体与数组 分类: C/C++ Nginx 2015-07-14 10:24 89人阅读 评论(0) 收藏
  8. asp.net uploadfile 上传文件,连接已重置问题
  9. C++ dynamic_cast实现原理
  10. StringMVC(拦截器)
  11. python原始字符串
  12. ORA-28000: the account is locked解决
  13. Linux:Day7(上) find、文件特殊权限、if语句
  14. Django基础(四)
  15. [Linux] - 利用ping给端口加密,限制访问
  16. 使用react封装评论组件
  17. Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
  18. CRM项目hellokitty部分交互界面
  19. linux常用命令之scp详解
  20. UVa 10269 Adventure of Super Mario (Floyd + DP + BFS)

热门文章

  1. STC8H开发(十五): GPIO驱动Ci24R1无线模块
  2. Flutter-填平菜鸟和高手之间的沟壑
  3. Dolphin Scheduler 1.1.0升级1.2.0避坑指南
  4. 如果让我设计一套,TPS百万级API网关!
  5. shell中系统任务设置
  6. C# 使用if(DEBUG)调试 失效问题
  7. 利用Hugging Face中的模型进行句子相似性实践
  8. django_day02
  9. 完全解析Array.apply(null, { length: 1000 })
  10. BI系统的分布式部署原理和技术实现