python模拟点击网页按钮实现方法
作者:angryTom 发布时间:2021-06-18 21:13:09
标签:python,网页按钮
python怎么模拟点击网页按钮
前提环境: Python3 和 Visual Studio Code安装完毕
安装selenium : 在终端输入: pip install selenium, 如图
下载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='百度一下'] 多条件匹配
来源:https://www.php.cn/python-tutorials-443411.html


猜你喜欢
- 多子图figure是绘制对象(可以理解为一个空白的画布),一个figure对象可以包含多个Axes子图,一个Axes是一个绘图区域,不加设置
- 本文实例为大家分享了pygame实现简单五子棋游戏的具体代码,供大家参考,具体内容如下看代码:①Gomuku2.py:import sysi
- 利用python代码生成一个随机的MAC地址,使用python网络编程时或可用上,如果使用scapy模块则可直接利用RandMAC()函数来
- 进入查询窗口后,输入下面的语句: CREATE INDEX mycolumn_index ON mytable (myclumn) 这个语句
- 在python中,提到如何计算多维数组和矩阵,那一定会想到numpy。numpy定义了矩阵和数组,为它们提供了相关的运算。size中文解释为
- 本文实例为大家分享了python封装对象实现时间效果的具体代码,供大家参考,具体内容如下# 钟表import timeclass Clock
- 作用域规则命名空间是从名称到对象的映射,Python中主要是通过字典实现的,主要有以下几个命名空间:内置命名空间,包含一些内置函数和内置异常
- python是一种跨平台的计算机程序设计语言。python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,可以应用于科学计算
- 更换国内源vi /etc/apt/sources.listdeb https://mirrors.aliyun.com/kali kali-
- 如果需要在数据库中存储图片或视频类的数据,我们可以配置MEDIA.下面的示例将以上传一张图片的形式来说明MEDIA的配置及用法.第一步 se
- 以前面试的时候会被问到,linux熟不熟呀?对于这种问题:我总会尴尬地回答,“额..了解一点”。 然而,我大学毕业的时候,连linux的虚拟
- 前言本文主要介绍的是关于Django验证码生成与使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:方法如下:1、基于PIL生
- 如下所示:string =" { "status": "error", "mes
- PyQt5选项卡控件QTabWidget简介QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面,通过单击各选
- 刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊!什么是 Urllib 库?urllib 库 是 Pyth
- PhotoSwipe插件能实现手机端点击图片全屏放大 再双击图片放大等功能PhotoSwipe插件官方网站 http://www.photo
- 简单的XML操作:XML文件创建把下面的代码复制到按钮事件中编译执行后可在相应物理路径中产生Pos.xml文件XmlTextWriter x
- 本文实例讲述了Python快速排序算法。分享给大家供大家参考,具体如下:快速排序的时间复杂度是O(NlogN)算法描述:① 先从序列中取出一
- 什么是中间件我们从一个简单的例子开始。高流量的站点通常需要将Django部署在负载平衡proxy之后。 这种方式将带来一些复杂性,其一就是每
- 概述Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 1 课)Go 语言结构在我们开始