一、背景
为了做定时读取网页数据,无需每次都执行打开浏览器,输入网址,登录等一系列前期操作,想直接控制已经打开好的浏览器上的元素,因此有了以下的方法。
二、具体做法
主要分成两步(以谷歌浏览器为例)
2.1 编写一个打开浏览器的脚本
手动打开的浏览器不受控制,因此要运行以下脚本来打开浏览器页面。
import os
os.system('start chrome.exe --remote-debugging-port=9222')
2.2 连接已打开的浏览器
from selenium import webdriver
import time
from selenium.webdriver.chrome.options import Options
import win32ui,win32con,pyHook,pythoncom,win32gui
#获取浏览器控制权
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
# 浏览器驱动存放路径
chrome_driver = "D:\Dev\Python36\Scripts\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver,chrome_options=chrome_options)
print("浏览器标题:",driver.title)
完成这两步就可以啦~冲
三、附件
http://npm.taobao/mirrors/chromedriver/
更多推荐
Python如何获取已打开的浏览器页面元素
发布评论