Python模拟网页点击(互动)

  • 前提环境: Python3 和 Visual Studio Code安装完毕  .
  • 安装selenium : 在终端输入:  pip install selenium,  如图

Python模拟网页点击(互动)_第1张图片

  • 下载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模拟网页点击(互动)_第2张图片

以下为我的学习来源,感谢!

xpath:  https://www.cnblogs.com/c-x-a/p/9195644.html

简单案例: https://ask.csdn.net/questions/697603

定位元素的8种方式: https://www.cnblogs.com/minieye/p/5803640.html

Selenium-Python中文文档: https://selenium-python-zh.readthedocs.io/en/latest/index.html

你可能感兴趣的:(Python)