(下)python3 selenium3 从框架实现代码学习selenium让你事半功倍
上一篇博文简要 在上一篇博文中已得知:使用 execute 向远程服务器发送请求会通过 webdriver 与浏览器交互,且发送已定义的命令常量可获得一些相关信息。 其中 execute 方法实现已经在上一篇博文中有实现说明。并且在我们已经知道 webdriver基类(selenium.webdriver.remote.webdriver)中,实现了操作页面元素的基本方法。 通过简单运用全面学习 假设现在需要打开百度,搜索“CSDN A757291228”该如何进行操作呢? 通过查找 webdriver基类(selenium.webdriver.remote.webdriver)找到了以下几个 在Python3中,Selenium3是一个强大的自动化测试工具,它允许开发者模拟用户行为与网页进行交互。本篇我们将深入探讨如何使用Selenium框架中的WebDriver API来实现自动化网页操作,特别是如何寻找并操作页面元素。 `execute`方法是WebDriver与浏览器通信的关键,它能够向远程服务器发送命令并接收响应。在上一篇博文中已经详细介绍了`execute`方法的实现,通过这个方法我们可以执行各种定义好的命令常量,获取浏览器和页面的相关信息。 在Selenium的WebDriver基类`selenium.webdriver.remote.webdriver`中,提供了一系列用于操作页面元素的方法。例如,当你需要在网页上找到特定的元素时,你可以使用以下方法: 1. **根据ID查找元素**: - `find_element_by_id(id_)`:返回匹配给定ID的首个元素,如果没有找到则抛出`NoSuchElementException`。 - `find_elements_by_id(id_)`:返回匹配给定ID的所有元素,如果没有找到则返回一个空列表。 2. **根据XPath查找元素**: - `find_element_by_xpath(xpath)`:返回匹配给定XPath表达式的首个元素,如果没有找到则抛出`NoSuchElementException`。 - `find_elements_by_xpath(xpath)`:返回匹配给定XPath表达式的所有元素,如果没有找到则返回一个空列表。 3. **根据链接文本查找元素**: - `find_element_by_link_text(link_text)`:返回匹配给定链接文本的首个元素,如果没有找到则抛出`NoSuchElementException`。 - `find_elements_by_link_text(link_text)`:返回匹配给定链接文本的所有元素,如果没有找到则返回一个空列表。 4. 还有其他查找方法,如根据CSS选择器、标签名、名称等查找元素,它们同样遵循这样的模式,方便我们根据不同的定位策略找到页面上的元素。 假设我们要实现打开百度,搜索“CSDN A757291228”的操作,可以按照以下步骤进行: 1. 初始化WebDriver实例,指定浏览器类型(如Chrome或Firefox): ```python from selenium import webdriver driver = webdriver.Chrome() # 或者 driver = webdriver.Firefox() ``` 2. 让浏览器打开百度首页: ```python driver.get("http://www.baidu.com") ``` 3. 找到搜索框元素,并输入搜索关键词: ```python search_box = driver.find_element_by_name("wd") # 假设搜索框的name属性为"wd" search_box.send_keys("CSDN A757291228") ``` 4. 提交搜索请求,可以模拟点击搜索按钮或者调用`submit()`方法: ```python search_button = driver.find_element_by_id("su") # 假设搜索按钮的id属性为"su" search_button.click() # 或者 search_box.submit() ``` 5. 在搜索结果页面进行进一步操作,例如,如果需要等待页面加载完成,可以使用`WebDriverWait`: ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 等待搜索结果页面加载,假设结果列表的class为"lst" wait = WebDriverWait(driver, 10) result_list = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "lst"))) ``` 6. 当完成所有操作后,记得关闭浏览器: ```python driver.quit() ``` 通过以上步骤,我们就可以使用Selenium3实现自动化网页操作。Selenium提供的API非常丰富,不仅可以查找和操作元素,还包括模拟用户交互、处理弹出框、检查元素属性等多种功能,这使得它成为Web自动化测试和数据抓取的重要工具。在实际应用中,可以结合其他库,如BeautifulSoup或Scrapy,来实现更复杂的任务。通过深入学习Selenium框架,你可以事半功倍地完成自动化工作,提高工作效率。
![](https://csdnimg.cn/release/download_crawler_static/13742287/bg1.jpg)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 7
- 资源: 925
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- jdk1.8 Windows版本
- 智能网联实验小车的实验指导文档
- dwg cad 字体 shx 字体
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 快手无人直播变现项目玩法教程,直播间人气轻松破千上热门
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- 智能网联实验小车的实验指导文档
- Rust 编程语言的入门教程,适合有一定编程基础的学习者快速上手 教程分为基础语法、核心概念和实用工具三个部分
- 美妆产品进销存管理系统的设计与开发ssm.zip
- 同城绘本馆的设计与开发ssm.zip
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0