python模拟点击网页按钮实现方法


Posted in Python onFebruary 25, 2020

python怎么模拟点击网页按钮

前提环境: Python3 和 Visual Studio Code安装完毕

安装selenium : 在终端输入: pip install selenium, 如图

python模拟点击网页按钮实现方法

下载chromedriver : 登录http://chromedriver.storage.googleapis.com/index.html 下载 (与浏览器对应版本请上网查阅)

下载后将chromedriver.exe文件放至 python.exe所在目录 如: D:\Program Files\Python

模拟情景: 打开百度网页,输入小米,进行搜索

#coding=utf-8
from selenium import webdriver
import time
import re

opt = webdriver.ChromeOptions()   #创建浏览
# opt.set_headless()    #无窗口模式
driver = webdriver.Chrome(options=opt)  #创建浏览器对象
driver.get('https://www.baidu.com/') #打开网页
# driver.maximize_window()   #最大化窗口
time.sleep(2)     #加载等待
driver.find_element_by_xpath("./*//span[@class='bg s_ipt_wr quickdelete-wrap']/input").send_keys("魅族") #利用xpath查找元素进行输入文本

# driver.find_element_by_id('kw').send_keys("小米") #候选方法

driver.find_element_by_xpath("//span[@class='bg s_btn_wr']/input").click()#点击按钮

# driver.find_element_by_xpath("//input[@value='百度一下']").click()#候选方法

# driver.find_element_by_xpath("//span[@class='bg s_btn_wr']/input[type='submit'][value='百度一下']").click()#候选方法,多条件匹配

运行即可,利用调试可看到每一步的运行情况

建议使用xpath来进行匹配元素,因为有的元素没填写id , name有重复的,所以用xpath更为精确

简单xpath的获取方法:

举例说明: 获取百度按钮

如下 可写为driver.find_element_by_xpath("//span[@class='bg s_btn_wr']/input")

// 表示的是不管前面多少级都匹配(包含一级),/ 是只匹配一级 ,@ 符号表示的是取元素的属性后面紧跟的=内容就是这个值

示例所表示的 就是匹配到这一级后的下一路径,也就是 [百度一下] 按钮的句柄, 再对其.click()点击即可

//span[@class='bg s_btn_wr']/input[type='submit'][value='百度一下'] 多条件匹配

python模拟点击网页按钮实现方法

以上就是python模拟点击网页按钮实现方法的详细内容,更多关于python怎么模拟点击网页按钮的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中文编码问题小结
Sep 28 Python
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
python中lambda与def用法对比实例分析
Apr 30 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
详解Python3中setuptools、Pip安装教程
Jun 18 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
python如何爬取网页中的文字
Jul 28 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 Python
python入门之算法学习
Apr 22 Python
Python中的变量与常量
Nov 11 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 #Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 #Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 #Python
python统计函数库scipy.stats的用法解析
Feb 25 #Python
Python Websocket服务端通信的使用示例
Feb 25 #Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 #Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 #Python
You might like
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
js 跨域和ajax 跨域问题小结
2009/07/01 Javascript
javascript时区函数介绍
2012/09/14 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Flask-WTF表单的使用方法
2019/07/12 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
个人合作协议书范本
2014/04/18 职场文书
大三学习计划书范文
2014/05/02 职场文书
网络优化专员求职信
2014/05/04 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
运动会观后感
2015/06/09 职场文书
《山中访友》教学反思
2016/02/24 职场文书
九年级语文教学反思
2016/03/03 职场文书
vue自定义右键菜单之全局实现
2022/04/09 Vue.js