【Python_Selenium学习笔记(一)】Selenium介绍及基本使用方法

前言

Selenium是一套 Web 网站的程序自动化操作解决方案,广泛应用于自动化测试及爬虫。此篇文章主要介绍 Selenium 的 安装和基本使用流程。

正文

1、Selenium 安装与导入

Selenium 框架的安装主要就是安装两样东西: Selenium 客户端库 和 浏览器驱动 。

1.1、Selenium 框架安装

使用 pip 命令安装 pip install selenium,安装完后直接导入 import selenium 即可。

1.2、浏览器驱动安装

浏览器驱动 是和 浏览器对应的, 不同的浏览器 需要选择不同的浏览器驱动。
Chrome 浏览器 的 WebDriver,可以在该地址下载:http://npm.taobao.org/mirrors/chromedriver/
Firefox 浏览器的 WebDriver,可以在该地址下载:https://github.com/mozilla/geckodriver/releases
注意:浏览器驱动 必须要和浏览器版本匹配

2、Selenium 自动化流程

  1. 自动化程序调用Selenium 客户端库函数(比如点击按钮元素)
  2. 客户端库会发送Selenium 命令 给浏览器的驱动程序
  3. 浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令
  4. 浏览器执行命令
  5. 浏览器驱动程序获取命令执行的结果,返回给我们自动化程序
  6. 自动化程序对返回结果进行处理
    转载至:白月黑羽

3、Selenium 常用方法

3.1、浏览器对象常用方法及属性

  1. browser.get():地址栏输入url地址并确认
  2. browser.quit():关闭浏览器
  3. browser.close():关闭当前页,浏览器不关闭
  4. browser.maximize_window():浏览器窗口最大化
  5. browser.page_source:HTML结构源码
  6. browser.page_source.find(“字符串”):从源码中查找指定字符串,没有返回-1,常用于判断最后一页

3.3、节点对象常用方法

  1. node.send_keys():向文本框发送内容
  2. node.click():点击
  3. node.clear():清空文本
  4. node.get_attribute(‘属性名’):获取节点属性值
  5. node.text():获取节点文本内容(包含子节点和后代节点)

4、Selenium 使用示例

4.1、示例目标

  1. 打开浏览器,并使浏览器最大化,输入百度的url地址
  2. 找到搜索框节点,输入搜索关键字:python
  3. 找到百度一下的按钮,进行点击
  4. 打印HTML结构源码,并寻找是否存在"kw"节点
  5. 保存页面图片

4.2、示例源码

import time
from selenium import webdriver  # 需要导入selenium的webdriver接口
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()  # 创建浏览器webdriver对象
browser.maximize_window()  # 浏览器窗口最大化
browser.get(url="http://baidu.com")  # 输入百度的url地址
inputBaidu = browser.find_element(By.XPATH, '//*[@id="kw"]')  # 找到搜索框的节点位置,并发送搜索的关键字
# '//*[@id="kw"]':复制出来的xpath表达式 是页面最终渲染完之后,以前端页面为主写的xpath表达式,与响应内容无关
inputBaidu.send_keys("python")
browser.find_element(By.XPATH, '//*[@id="su"]').click()  # 找到百度一下的节点位置,并点击
time.sleep(1)
html = browser.page_source  # HTML结构源码
print(html)
print(browser.page_source.find("kw"))  # 从源码中查找指定字符串,没有返回-1,常用于判断最后一页
browser.save_screenshot("baidu.png")  # 截图保存
time.sleep(1)

注意:把 浏览器驱动 放在 py 文件 所在路径下,在创建浏览器对象时就无需指定浏览器驱动路径了
Xpath表达式 获取方法:
在这里插入图片描述

4.3、示例效果

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当然,我可以帮你输出一篇Selenium学习笔记。以下是一份简单的学习笔记供参考: Selenium学习笔记 Selenium是一款用于自动化Web应用程序测试的强大工具。它提供了一组丰富的API,可以与各种编程语言(如Python、Java、C#等)结合使用,以实现Web应用程序的自动化测试。 1. 安装和配置 首先,你需要安装Selenium库。如果你使用Python,可以使用以下命令安装: ``` pip install selenium ``` 安装完成后,你还需要下载并配置相应的浏览器驱动程序。Selenium支持各种浏览器,如Chrome、Firefox、Safari等。你可以在Selenium官方网站上找到相应的驱动程序下载链接。 2. 基本操作 Selenium提供了一系列方法来模拟用户在浏览器中的操作,如打开URL、点击元素、输入文本等。以下是一些常用的基本操作示例: - 打开浏览器并访问URL: ```python from selenium import webdriver driver = webdriver.Chrome() # 使用Chrome浏览器驱动 driver.get("https://www.example.com") # 打开指定URL ``` - 查找元素并操作: ```python element = driver.find_element_by_id("element_id") # 根据元素ID查找 element.click() # 点击元素 input_element = driver.find_element_by_name("input_name") # 根据元素名称查找 input_element.send_keys("Hello, World!") # 输入文本 ``` - 执行JavaScript代码: ```python driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # 滚动到页面底部 ``` 3. 高级操作 Selenium还提供了一些高级操作,如处理弹窗、切换窗口、等待元素加载等。以下是一些常用的高级操作示例: - 处理弹窗: ```python alert = driver.switch_to.alert # 切换到弹窗 alert.accept() # 接受弹窗 confirm = driver.switch_to.alert # 切换到确认框 confirm.dismiss() # 取消确认框 ``` - 切换窗口: ```python window_handles = driver.window_handles # 获取所有窗口句柄 driver.switch_to.window(window_handles[-1]) # 切换到最后一个窗口 ``` - 等待元素加载: ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "element_id")) ) ``` 4. 测试框架 Selenium还可以与测试框架(如Pytest、JUnit等)结合使用,以便更好地组织和管理测试用例。你可以使用测试框架提供的断言方法来验证测试结果。 ```python import pytest def test_example(): driver = webdriver.Chrome() driver.get("https://www.example.com") assert "Example Domain" in driver.title # 断言页面标题包含指定文本 driver.quit() ``` 以上是一份简单的Selenium学习笔记,希望对你有所帮助。当然,Selenium还有很多其他功能和用法,你可以进一步深入学习和探索。祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禾戊之昂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值