Web网页可以用许多工具进行开发,本文重点是介绍如何在python中使用Selenium实现网页自动化开发,主要先介绍Selenium的概念,开发环境搭建,selenium模拟用户打开浏览器并实现自动操作浏览的网页,比较适用于seleium的自动化测试开发回归等工作。

了解Selenium

selenium是一个用于网络应用程序自动化的工具。它可以直接运行在浏览器中,就像真正的用户在操作一样。它支持的版本主要有Google ghrome、IE、Mozillz Firefox、Safari、Opera等,同时支持多种语言编写,主要有java,Python、net、Ruby等。从Selenium诞生有多个版本,从1.0、2.0、3.0等版本。

  • Selenium 1.0 ,主要是Selenium IDE、Selenium Grid,Selenium RC组成,Selenium IDE是嵌入到浏览器的一个插件,由于实现简单的浏览器操作录制和回放功能;Selenium Grid是一种自动化的辅助工具。通过利用现有计算的基础设施。能加快自动化脚本,通过Selenium RC服务器作为代理去访问网站应用。从而达到自动化目的。

  • Selenium 2.0 版本结合了WebDirver,Selenium通过WebDriver直接操作网站应用,解决Selenum 1.0存在的缺点,WebDriver针对各个浏览器而开发,取代了网站应用的JavaScript,目前大多数大厂都是使用selenium2.0为主。

  • Selenium3.0 有不小的更新。

安装Python3.X

Python主要分为2大版本:Python2X和Python3X,Python核心团队集合2020停止Python2.X支持,本文用最新版本python3.9.0版本

下载地址为:https://www.python.org/downloads/release/python-390/

双击安装包

  • 查看安装版本

python3.9Python 3.9.0 (v3.9.0:9cf6752276, Oct  5 2020, 11:29:23)[Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.

安装Pycharm

下载地址:http://www.jetbrains.com/pycharm/download

安装Selenium

由于Selenium使用支持多种浏览器,本文主要用Google Ghrome作为讲述对象,搭建Selenium开发和安装Selenium并且配置Google Ghrome WebDriver 安装Selenium库通过pip,具体的安装指令为:

pip install selenium

如果碰到time out 请多试几次

安装成功提示

 pip install seleniumCollecting selenium  Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB)     |████████████████████████████████| 904 kB 4.0 kB/s Collecting urllib3  Downloading urllib3-1.26.2-py2.py3-none-any.whl (136 kB)     |████████████████████████████████| 136 kB 3.6 kB/s Installing collected packages: urllib3, seleniumSuccessfully installed selenium-3.141.0 urllib3-1.26.2

查看版本

 pip listPackage    Version---------- -------pip        20.3.1selenium   3.141.0setuptools 49.2.1urllib3    1.26.2

或者下面这种查看,已经安装成功

 pythonPython 3.9.0 (v3.9.0:9cf6752276, Oct  5 2020, 11:29:23) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import selenium>>> selenium.__version__'3.141.0'

还要安装Google Ghrome浏览器WebDriver,首先需要查看Google Ghrome的当前版本,Google Ghrome —>help-->about google Chrome(G)

WebDriver 和WebDriver的版本对应

http://npm.taobao.org/mirrors/chromedriver/

下载版本GhromeDriver查看版本

./chromedriver -versionChromeDriver 87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761})

开始编写代码

#导入Selenium webdriver库from selenium import webdriver#设置变量uriurl="http://www.baidu.com"#设置exeutable_path chromedriverpath="./chromedriver"brower=webdriver.Chrome(executable_path=path)#打开浏览器百度入口brower.get(url)

运行后弹出chromedriver的窗口,图片如下

或者是

如果想用Ie后者FireFox浏览器代码稍微修改一下

#firebox浏览器和ie浏览器brower=webdriver.Ie(executable_path=path)brower.get(url)brower=webdriver.firefox(executable_path=path)brower.get(url)

浏览器查找元素

上面的例子已经搭建了基本的Selenium+chromedriver的开发环境,现在需要进行浏览器的查看网页元素,因为selenium是通过程序来自动操作浏览器网页页面的控件元素,如页面的点击按钮,输入文本框,单选按钮,url链接等,需要通过页面获取到selnium精准的目标元素定位,告诉selenium代码程序操作页面的具体元素。Ghrome页面是通过快捷键F12,打开Ghrome开发者模式,如下图

图2 网页信息

图2的开发者模式有9个标签,分别为Element、Console、Sources、Network、Performance、Menory、Application、Security、Audits。开发者模式为Web开发调试为主,如果只是获取页面元素信息,通过Element标签页即可。通过下面图片,点击,定位到百度的输入” ...“的输入框

我们来修改一下输入框的内容,代码如下

#导入Selenium webdriver库from selenium import webdriver#设置变量uriurl="http://www.baidu.com"#设置exeutable_path chromedriverdriver=webdriver.Chrome(executable_path="./chromedriver");#打开浏览器百度入口driver.get(url)#百度输入框的xpath的地址xpath=driver.find_element_by_xpath("//*[@id=\"kw\"]")xpath.send_keys("selenium")#submit的百度一下sumbit=driver.find_element_by_xpath("//*[@id=\"su\"]")sumbit.submit()

运行效果为

python模拟点击网页按钮_网页自动化开发(第一章)相关推荐

  1. python selenium 点击开始按钮_使用Selenium和Python单击一个按钮

    I have the following code: Expand all When I click on expand all, the whole page loads. How can I do ...

  2. php如何模拟网页点击按钮,python模拟点击网页按钮如何实现 python模拟点击网页按钮实现方法...

    python模拟点击网页按钮如何实现 python模拟点击网页按钮实现方法 本篇文章小编给大家分享一下python模拟点击网页按钮实现方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们 ...

  3. python语言重复运行_如何用python模拟点击进行重复话语?

    从最简单的重复语句开始,之前运行过代码的小伙伴会发现,我们今天运行案例的结果会是一个语句的重复发送,也算是相较于之前的代码有了进阶的操作.这就是python模拟点击功能的一部分展现,等不及的小伙伴一起 ...

  4. python模拟点击屏幕ios_python模拟点击在ios中实现的实例讲解

    我们都知道因为操作系统的不同,很多游戏区分为安卓和苹果两个版本.那么之前学会python模拟点击的小伙伴开始担心,如果手机是ios版本那还能使用吗?这个问题小编进行了测试,小伙伴们完全不用忧虑ios版 ...

  5. js或者jQuery模拟点击提交按钮button,触发提交操作

    一般情况下提交form表单,都是手动点击提交按钮,但是为了简化用户操作,有时候需要自动提交表单,或者做了其他某一个操作(非提交操作)之后自动提交表单,可以使用js或者jQuery模拟点击提交按钮,然后 ...

  6. 基于列表框的简单选课窗体开发。编写Windows应用程序,设计实现一个简单选课系统,要求:(1)点击“添加”按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加的课程不能为空,不能

    基于列表框的简单选课窗体开发.编写Windows应用程序,设计实现一个简单选课系统,要求: (1)点击"添加"按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加 ...

  7. ios 监测网页按钮_苹果IOS备忘录便签软件敬业签恢复删除内容应该怎么操作?...

    敬业签是一款功能比较全面的苹果手机桌面备忘录便签软件,主要功能包括:云储存.多端云同步.提醒待办事项.时间管理.标记已完成.月视图和时间轴等.在使用苹果IOS备忘录便签软件敬业签的时候,如果不小心误删 ...

  8. python 模拟点击第三方软件_使用Python模拟腾讯第三方认证-篇4 [自动爬取分析及下载]...

    序 距离上次发布已经过去2个月之多,最近总结的时间越来越少,只能挤着来总结了.终于花了点时间将页面分析与下载工作完成. 工程准备 既然是自动爬取,尽量使用Scrapy框架,Scrapy的安装和使用请自 ...

  9. python模拟火车订票系统_如何用python编写火车抢票助手

    前几天跟朋友说打算写一个抢票助手,最后由于某些原因念头打消了. 可就在昨天晚上,才隐约记起一年前的自己曾经说过:一年后我一定要写一个12306的抢票助手!瞬间激情澎湃,甚至已经是快临近凌晨时便开始动工 ...

最新文章

  1. 解决用户使用临时配置文件登陆WIN7的问题
  2. mysql ntfs 提权 (errcode: 22)_mysql 提权总结
  3. 我的iqoo已成功root了_红米Note8 刷机 root 备忘录
  4. 有关线程的相关知识(上)
  5. debounceTime 和 throttleTime 的弹珠图
  6. 工作279:控制退回的逻辑修改
  7. php学历要求_“最好编程语言” PHP面试的两三事
  8. 糍粑大叔的独游之旅-战斗!之弹道实现(上)
  9. ArcGIS快速制图插件介绍
  10. L1-001 Hello World (5 分)—团体程序设计天梯赛
  11. Docker文档笔记
  12. yml文件和properties文件区别
  13. android 色彩搭配,色彩搭配利器:最好用的配色工具App Top5
  14. 华盛顿邮报专访苹果CEO库克:带领苹果是个孤独的工作
  15. 僵尸网络(botnet) DDoS
  16. 海归35岁,阿里P7offer, 是否接受?
  17. JSP 银行网上账户管理系统myeclipse编程java网页
  18. password unchanged Authentication token manipulation error
  19. cocos2dx之Box2D
  20. flutter 打开设置面板进行基本设置

热门文章

  1. Eclipse里代码自动完成 auto completion的快捷键设置
  2. Mockito框架代码学习调试
  3. 异步加载metadata
  4. SAP C4C里销售订单行项目为什么无法添加产品
  5. 安装指定版本的minikube
  6. plsql存储过程修改后怎么保存_Solidity变量存储位置与gas成本详解
  7. 玩转android studio,玩转AndroidStudioIDE
  8. 工作空间出错_实践 | WMS系统,对于仓库工作效率和成本管控的意义
  9. PyCharm喜好设置
  10. python贪吃蛇小游戏_python开发贪吃蛇小游戏