Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python怎么模拟点击网页按钮

python怎么模拟点击网页按钮

angryTom
angryTomasal
2020-02-25 14:50:4413844semak imbas

python怎么模拟点击网页按钮

python怎么模拟点击网页按钮

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

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

20190227153034822.png

下载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='百度一下']  多条件匹配

20190227154903175.png

众多python培训视频,尽在python学习网,欢迎在线学习!

Atas ialah kandungan terperinci python怎么模拟点击网页按钮. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn