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

通过兴趣点获取坐标

python 复制代码
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 csv

from 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_value
        try:
            # 等待<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)
            continue
        finally:
            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

python 复制代码
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 pickle

with 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()
相关推荐
·s.*10 分钟前
so-arm101部署操作
python
郝学胜-神的一滴18 分钟前
Linux 进程控制块(PCB)解析:深入理解进程管理机制
linux·服务器·开发语言
后端小张20 分钟前
【鸿蒙开发手册】重生之我要学习鸿蒙HarmonyOS开发
开发语言·学习·华为·架构·harmonyos·鸿蒙·鸿蒙系统
胖咕噜的稞达鸭22 分钟前
AVL树手撕,超详细图文详解
c语言·开发语言·数据结构·c++·算法·visual studio
007php00738 分钟前
百度面试题解析:synchronized、volatile、JMM内存模型、JVM运行时区域及堆和方法区(三)
java·开发语言·jvm·缓存·面试·golang·php
java1234_小锋40 分钟前
TensorFlow2 Python深度学习 - 模型保存与加载
python·深度学习·tensorflow·tensorflow2
深蓝电商API1 小时前
用 Selenium 搞定动态网页:模拟点击、滚动、登录全流程
爬虫·python·selenium
王六岁1 小时前
🐍 前端开发 0 基础学 Python 入门指南:数字与字符串篇
前端·python·全栈
芒果量化1 小时前
Optuna - 自动调参利器&python实例
开发语言·python·算法·机器学习
foundbug9991 小时前
基于CSMA-CA协议的V2X通信MATLAB仿真
开发语言·网络·matlab