当前位置: 首页 > news >正文

python selenium库的使用:通过兴趣点获取坐标

通过兴趣点获取坐标

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions  import TimeoutException# 保存Cookies到文件(可选)
import pickle
import csvfrom selenium.webdriver.support.wait import WebDriverWait# 初始化浏览器
driver = webdriver.Chrome()# 打开目标网页
driver.get("https://lbs.amap.com/tools/picker")# 加载保存的Cookies
with open('cookies.pkl', 'rb') as file:cookies = pickle.load(file)
for cookie in cookies:driver.add_cookie(cookie)# 刷新页面以应用Cookies
driver.refresh()csvfile = r"D:\Programs\py\pythonProject\data\pdf\a.csv"
dataW=[]
#打开csv文件
with open(csvfile,mode='r',newline='') as file:#创建csv读取器csvR=csv.reader(file)#遍历每一行,跳过第一行for row in csvR:namecom = row[1]username = driver.find_element(By.ID, "txtSearch")login_button = driver.find_element(By.CLASS_NAME, "btn-search")txtCoordinate = driver.find_element(By.ID, "txtCoordinate")# 填写username.clear()username.send_keys(namecom)#按钮搜索coord = txtCoordinate.get_attribute("value")login_button.click()#获取坐标# 定义一个函数来检查值是否发生变化def value_changed(element, initial_value):return element.get_attribute("value") != initial_valuetry:# 等待<input>值发生变化WebDriverWait(driver, 10).until(lambda driver: value_changed(txtCoordinate, coord))coord = txtCoordinate.get_attribute("value")# 继续执行后续操作xy=coord.split(',')x=xy[0]y=xy[1]rowW = row.copy()rowW.append(x)rowW.append(y)dataW.append(rowW)except TimeoutException:# 如果超时,执行其他操作print(row)continuefinally:continue#打开csv文件以写入模式
csvfileW=r"D:\Programs\py\pythonProject\data\pdf\aXY.csv"
with open(csvfileW,mode='w',newline='') as fileW:#创建csv写入器csvW=csv.writer(fileW)#写入数据for row in dataW:csvW.writerow(row)
userinput = input("> ")
# 关闭浏览器
driver.quit()

手动登录用户名密码再保存cookies

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium import webdriver# 初始化浏览器
driver = webdriver.Chrome()# 打开目标网站
driver.get("https://lbs.amap.com/tools/picker")userinput = input("任意键继续")# 手动登录并获取Cookies
cookies = driver.get_cookies()# 保存Cookies到文件(可选)
import picklewith open('cookies.pkl', 'wb') as file:pickle.dump(cookies, file)# 关闭浏览器
driver.quit()userinput = input("任意键继续")# 在后续脚本中加载Cookies
driver = webdriver.Chrome()
driver.get('https://lbs.amap.com/tools/picker')# 加载保存的Cookies
with open('cookies.pkl', 'rb') as file:cookies = pickle.load(file)
for cookie in cookies:driver.add_cookie(cookie)# 刷新页面以应用Cookies
driver.refresh()

http://www.lryc.cn/news/485510.html

相关文章:

  • 如何优化Kafka消费者的性能
  • 机器学习 决策树
  • 效益登记册效益管理计划
  • Go语言的零值可用性:优势与限制
  • 【自用】0-1背包问题与完全背包问题的Java实现
  • HTML5实现俄罗斯方块小游戏
  • Mybatis官方生成器使用示例
  • 演员王子辰—专注革命题材 《前行者》后再出发
  • Spring Boot基础教学:创建第一个Spring Boot项目
  • 基于SpringBoot+Vue实现校园多媒体信息共享平台
  • WebRTC API分析
  • ArkTS学习笔记:ArkTS起步
  • spring-gateway网关聚合swagger实现多个服务接口切换
  • 关于 Oracle Database Express Edition 的功能和安装
  • 领夹麦克风哪个品牌好,手机领夹麦克风哪个牌子好,选购推荐
  • 什么是 Go 语言?
  • AI 大模型重塑软件开发流程:定义、应用、优势与挑战
  • 微服务即时通讯系统的实现(客户端)----(1)
  • 【freertos】FreeRTOS时间管理
  • 台式电脑没有声音怎么办?台式电脑没有声音解决详解
  • 机器学习基础02
  • element plus的表格内容自动滚动
  • 哈佛商业评论 | 未来商业的技术趋势:百度李彦宏谈技术如何变革商业
  • Pytorch如何将嵌套的dict类型数据加载到GPU
  • Shell基础2
  • 7z 解压器手机版与解压专家:安卓解压工具对决
  • C++清除所有输出【DEV-C++】所有编辑器通用 | 算法基础NO.1
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】启动页
  • SpringBoot 2.2.10 无法执行Test单元测试
  • 聊天服务器(8)用户登录业务