Python模拟网页点击(互动)

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

 

模拟情景: 打开百度网页,输入小米,进行搜索

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

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

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值