python怎么模拟点击网页按钮
前提环境: Python3 和 Visual Studio Code安装完毕 .
安装selenium : 在终端输入: pip install selenium, 如图
下载chromedriver : 登录http://chromedriver./index.html 下载 (与浏览器对应版本请上网查阅)
推荐学习《编程学习课程》
下载后将chromedriver.exe文件放至 python.exe所在目录 如: D:\Program Files\Python
模拟情景: 打开百度网页,输入小米,进行搜索#coding=utf-8from selenium import webdriverimport timeimport re opt = webdriver.ChromeOptions() #创建浏览器# opt.set_headless() #无窗口模式driver = webdriver.Chrome(options=opt) #创建浏览器对象driver.get('/') #打开网页# 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学习网,欢迎在线学习!