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()
相关推荐
love530love3 分钟前
PyCharm Community社区版链接WSL虚拟环境
ide·python·pycharm
船长@Quant5 分钟前
VectorBT量化入门系列:第一章 VectorBT基础与环境搭建
python·量化策略·sklearn·ta-lib·量化回测·vectorbt
FreeLikeTheWind.14 分钟前
Qt 开发时可以在函数内引用的头文件
开发语言·c++·qt
学会870上岸华师15 分钟前
c语言学习16——内存函数
c语言·开发语言·学习
XYN6131 分钟前
【嵌入式面试】
笔记·python·单片机·嵌入式硬件·学习
PyAIGCMaster34 分钟前
react从零开始的基础课
开发语言·javascript·ecmascript
插件开发1 小时前
JavaScript-异步和同步函数使用场景及区别-正确构建程序的核心要点
开发语言·javascript·ecmascript
qq_365911601 小时前
WPF 五子棋项目文档
开发语言
橙色小博2 小时前
GPT:Transformer的专精产品
人工智能·python·gpt·深度学习·神经网络·transformer