Python教程模拟网页点击

发布于 2021-04-15 21:41 ,所属分类:知识学习综合资讯

还有一种动态数据,例如GPS这类系统,需要鼠标点击列表中的元素完成向地图服务器发送请求,然后接受反馈的信息,然后在页面弹出一个窗口显示位置信息。



首先需要完成第一步,打开浏览器,输入账号密码,点击登录,之后再是找到列表并点击列表中的元素。


爬虫准备:

安装selenium : :cmd安装pip installselenium


下载chromedriver ,下载后将chromedriver.exe文件放至 python.exe所在目录:

http://chromedriver.storage.googleapis.com/index.html下载

(根据你的google浏览器版本下载对应的chromedriver 版本)


打开登录页面



右键审查元素,点击右上角小箭头,鼠标指向需要填写账号的位置,点击,右边elements中会直接找到对应的网页代码位置





这里有id="",我们可以用名称查找username的位置

elem = driver.find_element_by_name("username")

填入账号

elem.send_keys("XXXX")

填写密码同理

然后在找登录按钮代码时,发现没有id=""


这是可以Copy fullXpath找到按钮的定位通过下命令确定按钮位置

elem = driver.find_element_by_xpath("")


Copy下来位置代码为/html/body/div/div[2]/div/form/div/input,直接填入命令中即可

登录进去后,确定列表中元素的位置要和上述操作有点区别


右上方箭头点击列表区域时,注意右方出现的列表名称


需要进入iframe状态不然无法操作下面的元素

driver.switch_to.frame("mainFrame")

Copy fullXpath其中第一个元素得到代码

/html/body/div/div[2]/div/table/tbody/tr[2]/td[1]

在填写的时候改为,注意contentTable为网页中列表的名称,tr[2]/td[1]则是列表中元素中的位置

driver.find_element_by_xpath("//table[@id='contentTable']//tr[2]/td[1]")

from selenium import webdriverimport timeopt = webdriver.ChromeOptions()   #创建浏览# opt.set_headless()    #无窗口模式driver = webdriver.Chrome(options=opt)  #创建浏览器对象driver.get('网页') #打开网页# driver.maximize_window()   #最大化窗口time.sleep(1)     #加载等待# 填入账号elem = driver.find_element_by_name("username")# 清空原有内容elem.clear()# 填入账号elem.send_keys("账号")time.sleep(1)     #加载等待# 填入密码elem = driver.find_element_by_name("password")# 清空原有内容elem.clear()# 填入密码elem.send_keys("密码")time.sleep(1)     #加载等待# 得到 登录按钮并单击elem = driver.find_element_by_xpath("/html/body/div/div[2]/div/form/div/input").click()time.sleep(2)     #加载等待driver.switch_to.frame("mainFrame")   #进入iframe不然无法操作下面的元素time.sleep(2)     #加载等待driver.find_element_by_xpath("//table[@id='contentTable']//tr[2]/td[1]").click() #点击列表中的元素/html/body/div/div[2]/div/table/tbody/tr[2]
time.sleep(2)可以设置加载等待时间,等待请求返回数据然后可以写入读取element网页数据代码,并提取出当前点击元素返回的信息,通过写入循环,将所有车辆GPS定位读取后,将数据再输出文件。



声明:
本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

PythonPythonPython


pythonqq775063632()

PS



相关资源