编程语言:python
集成开发环境(IDE):Visual Studio Code
配置方法参照Visual Studio Code配置Python编程环境

目录

  • 1 准备
    • 1.1 安装selenium程序包
    • 1.2 引入函数模块
  • 2 实现
    • 2.1 打开网页
    • 2.2 元素定位
    • 2.3 元素控制
    • 2.4 弹出框的处理

1 准备

推荐使用Chrome浏览器

1.1 安装selenium程序包

激活虚拟环境,打开新的Terminal,输入以下代码:

python -m pip install selenium

如下图所示,表示安装成功,版本为4.7.2

关闭虚拟环境,打开新的Terminal

1.2 引入函数模块

#引入time模块,实现延时
import time
#引入selenium库中的webdriver模块,实现对网页的操作
from selenium import webdriver
#引入By Class,辅助元素定位
from selenium.webdriver.common.by import By
#引入ActionChains Class,辅助鼠标移动
from selenium.webdriver.common.action_chains import ActionChains

2 实现

2.1 打开网页

#打开谷歌浏览器
driver = webdriver.Chrome()
#打开网页
driver.get('URL') #将URL替换为需要操作的网址

2.2 元素定位

要想实现对网页的控制,需要首先定位网页上的元素,一般为搜索框、选项、按钮等。

selenium 4.0以上的版本更新了元素定位方式,要用到find_element函数,用法举例如下:

el = driver.find_element(By.NAME, "*")

首先要获取元素的信息:
打开网页后,按F12,打开元素审查窗口

点击窗口中红框标出的图标,即可在页面上选择需要定位的元素,查看其代码。
一般需要定位的元素代码都以input开头,下图为搜索框的代码,从代码中可以提取定位元素所需要的信息:

根据下列信息均可以定位元素,但要保证根据该信息可以唯一定位到该元素:

By. *
NAME name=“*”
CLASS_NAME class_name=“*”
ID id=“*”
TAG_NAME tag_name=“*”
LINK_TEXT
PARTIAL_LINK_TEXT
CSS_SELECTOR
XPATH Copy full XPath

如果根据其他信息无法唯一定位该元素,可以采取XPath定位,XPath的获取方式比较特殊,需要右键单击该代码行,在下拉列表中选择Copy full XPath,如下图所示:

2.3 元素控制

定位到元素后,可以进行下列操作,实现对元素的控制:

method 功能
click() 点击
send_keys(‘*’) 输入
clear() 清空

以输入文字为例,代码如下(*为需要输入的文字):

el.send_keys('*')

如果打开网页时,需要控制的元素不在可视范围内,需要滑动鼠标定位,则要借助于ActionChains,否则可能会报错:找不到该元素。

ActionChains(driver).move_to_element(el).click().perform()
el.click()

上述示例为点击操作,其中第二行最好加上,确保点到该元素
另外一种找不到元素的原因可能是网页还没有加载完毕,此时就可以借助于延时功能:

time.sleep(1)

2.4 弹出框的处理

如果点击按钮后,不是打开一个新的页面,而是弹出了一个窗口,需要在新的窗口中操作,则需要通过如下代码转到新的frame下,否则可能会报错:找不到该元素。

driver.switch_to.frame(0)

随后继续按2.2定位元素即可。

Python实现自动化网页操作相关推荐

  1. python系列25:使用selenium进行自动化网页操作

    1. 背景 python中requests发送请求后,没有办法执行里面的javascript代码,因此有很多信息会爬取不到.这里有个自动化测试的工具selenium,可以模拟网页打开的过程.使用pip ...

  2. python word自动化_python操作word,自动化办公

    **安装依赖:** ``` pip install python-docx ``` **简单的写入一点内容:** ``` import docx file=docx.Document() #创建内存中 ...

  3. 如何用python实现自动化办公_python自动化办公操作PPT的实现

    1.python-pptx模块简介 使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍.这里提前做一个说明:python操作PPT,最好是我们提前设计 ...

  4. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

    我们可以用 excel 来记录自动化,然后读取 excel 来执行命令,excel 可以很方便直观的管理我们录入的自动化.下面给大家演示一下 Python+selenium 自动化的实例,读取 exc ...

  5. Python接口自动化之pymysql数据库操作

    VOL 120 06 2020-05 今天距2021年239天 这是ITester软件测试小栈第120次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  6. python自动化word操作

    python自动化之word 操作 研发逻辑就是讲解逻辑,一般从上往下,遵循:What - Why - How 或 Why - What - How 思路:这章节学的有点晕,比较多要记住的,当然搞会了 ...

  7. 用python实现自动化办公------Excel操作

    用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 摘要 一 matplotlib和 ...

  8. Mac 自动化自动操作工作流程(Workflow)完成日常软件文件网页一键打开

    进入软件<启动台>,找到<自动操作>工具(其他),打开,点击下方<新建文稿>. 提示选择文稿类型,选<工作流程>,点<选取>进入新建. 1. ...

  9. Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6...

    1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下: File "D:/PycharmProjects/AutoTe ...

最新文章

  1. Node.js学习之路09——Path基本介绍
  2. 阿里云胡晓明:未来5-10年将和中国移动互为生态
  3. 查询数据(使用聚合函数,还是单表)
  4. 抽奖自定义中奖概率总结
  5. Ajax调用MVC控制器参数为实体
  6. C语言库函数大全及应用实例四
  7. C# 6.0语法新特性体验(二)
  8. AIR文件操作(三):使用FileStream对象读写文件
  9. Filecoin网络存储容量已达3 EB
  10. java 多线程 实例浅析
  11. 异步ajax动态实现级联,JQuery异步加载无限下拉框级联功能实现示例
  12. 一套键鼠控制多台电脑的使用方法,快收藏
  13. 代码:灰度重心法提取线激光条纹中心线(CPP+OpenCV)
  14. springboot 联合查询
  15. 用计算机怎么计算税率,一般纳税人税率计算器,一般纳税人税率如何计算?
  16. golang sync/atomic
  17. 车辆违章查询接口文档
  18. .net 在图片上写字
  19. 【隐私计算笔谈】MPC系列专题(五):Beaver三元组和BMR协议
  20. 实验吧-who are you?

热门文章

  1. servlet-mapping之url-pattern 个人理解
  2. 麒麟990和骁龙865哪个好
  3. MIUI 11 稳定版删除系统自带且无用软件
  4. Sql server服务器数据备份到本地
  5. 0. 视频监控系统架构设计
  6. 计算节点宕机处理过程
  7. 什么是magic number
  8. 浅议SWOT分析在企业管理中的具体应用
  9. SpringBoot @InitBinder注解实现Bean国际化校验
  10. 互联网产品、运营、设计必备的13款工作神器