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

作者:angryTom 时间:2021-06-18 21:13:09 

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模拟点击网页按钮实现方法

来源:https://www.php.cn/python-tutorials-443411.html

标签:python,网页按钮
0
投稿

猜你喜欢

  • 详解PHP变量传值赋值和引用赋值变量销毁

    2023-10-25 00:27:31
  • Android ProgressBar进度条和ProgressDialog进度框的展示DEMO

    2023-11-20 01:15:43
  • Oracle9i数据库异常关闭后的启动

    2010-07-21 12:46:00
  • MySQL身份认证漏洞 升级到5.5.24可修正

    2012-07-11 15:54:09
  • php session应用实例 登录验证

    2023-11-14 13:49:43
  • 通过实例学习Python Excel操作

    2021-01-21 21:55:12
  • Python性能优化技巧

    2021-06-29 12:48:32
  • PDO::errorInfo讲解

    2023-06-06 01:51:53
  • 使用MHTML 解决 data URI scheme 的浏览器兼容问题

    2009-05-11 12:30:00
  • python聊天室(虽然很简洁,但是可以用)

    2021-05-21 01:10:46
  • 正则表达式判断号码靓号类型

    2009-10-31 18:48:00
  • sql server not in 语句使程充崩溃

    2012-01-05 19:05:00
  • php安全攻防利用文件上传漏洞与绕过技巧详解

    2023-07-23 12:08:06
  • Python中使用urllib2模块编写爬虫的简单上手示例

    2023-10-18 22:14:31
  • PHP convert_uudecode()函数讲解

    2023-06-12 15:53:51
  • 根据时段自动切换你的站点CSS皮肤风格

    2007-09-20 18:08:00
  • pandas 实现分组后取第N行

    2023-02-09 11:11:40
  • php中常量DIRECTORY_SEPARATOR用法深入分析

    2023-09-06 00:23:27
  • javascript自执行函数之伪命名空间封装法

    2023-08-12 20:30:09
  • python-序列解包(对可迭代元素的快速取值方法)

    2023-12-28 23:23:57
  • asp之家 网络编程 m.aspxhome.com