python模拟点击网页按钮_网页自动化开发(第一章)
了解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模拟点击网页按钮_网页自动化开发(第一章)相关推荐
- 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 ...
- php如何模拟网页点击按钮,python模拟点击网页按钮如何实现 python模拟点击网页按钮实现方法...
python模拟点击网页按钮如何实现 python模拟点击网页按钮实现方法 本篇文章小编给大家分享一下python模拟点击网页按钮实现方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们 ...
- python语言重复运行_如何用python模拟点击进行重复话语?
从最简单的重复语句开始,之前运行过代码的小伙伴会发现,我们今天运行案例的结果会是一个语句的重复发送,也算是相较于之前的代码有了进阶的操作.这就是python模拟点击功能的一部分展现,等不及的小伙伴一起 ...
- python模拟点击屏幕ios_python模拟点击在ios中实现的实例讲解
我们都知道因为操作系统的不同,很多游戏区分为安卓和苹果两个版本.那么之前学会python模拟点击的小伙伴开始担心,如果手机是ios版本那还能使用吗?这个问题小编进行了测试,小伙伴们完全不用忧虑ios版 ...
- js或者jQuery模拟点击提交按钮button,触发提交操作
一般情况下提交form表单,都是手动点击提交按钮,但是为了简化用户操作,有时候需要自动提交表单,或者做了其他某一个操作(非提交操作)之后自动提交表单,可以使用js或者jQuery模拟点击提交按钮,然后 ...
- 基于列表框的简单选课窗体开发。编写Windows应用程序,设计实现一个简单选课系统,要求:(1)点击“添加”按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加的课程不能为空,不能
基于列表框的简单选课窗体开发.编写Windows应用程序,设计实现一个简单选课系统,要求: (1)点击"添加"按钮,将把在第一文本框中的输入的课程名称添加到左边的列表框中,且所添加 ...
- ios 监测网页按钮_苹果IOS备忘录便签软件敬业签恢复删除内容应该怎么操作?...
敬业签是一款功能比较全面的苹果手机桌面备忘录便签软件,主要功能包括:云储存.多端云同步.提醒待办事项.时间管理.标记已完成.月视图和时间轴等.在使用苹果IOS备忘录便签软件敬业签的时候,如果不小心误删 ...
- python 模拟点击第三方软件_使用Python模拟腾讯第三方认证-篇4 [自动爬取分析及下载]...
序 距离上次发布已经过去2个月之多,最近总结的时间越来越少,只能挤着来总结了.终于花了点时间将页面分析与下载工作完成. 工程准备 既然是自动爬取,尽量使用Scrapy框架,Scrapy的安装和使用请自 ...
- python模拟火车订票系统_如何用python编写火车抢票助手
前几天跟朋友说打算写一个抢票助手,最后由于某些原因念头打消了. 可就在昨天晚上,才隐约记起一年前的自己曾经说过:一年后我一定要写一个12306的抢票助手!瞬间激情澎湃,甚至已经是快临近凌晨时便开始动工 ...
最新文章
- 解决用户使用临时配置文件登陆WIN7的问题
- mysql ntfs 提权 (errcode: 22)_mysql 提权总结
- 我的iqoo已成功root了_红米Note8 刷机 root 备忘录
- 有关线程的相关知识(上)
- debounceTime 和 throttleTime 的弹珠图
- 工作279:控制退回的逻辑修改
- php学历要求_“最好编程语言” PHP面试的两三事
- 糍粑大叔的独游之旅-战斗!之弹道实现(上)
- ArcGIS快速制图插件介绍
- L1-001 Hello World (5 分)—团体程序设计天梯赛
- Docker文档笔记
- yml文件和properties文件区别
- android 色彩搭配,色彩搭配利器:最好用的配色工具App Top5
- 华盛顿邮报专访苹果CEO库克:带领苹果是个孤独的工作
- 僵尸网络(botnet) DDoS
- 海归35岁,阿里P7offer, 是否接受?
- JSP 银行网上账户管理系统myeclipse编程java网页
- password unchanged Authentication token manipulation error
- cocos2dx之Box2D
- flutter 打开设置面板进行基本设置