谷歌瀏覽器遠程調試功能
首先我們來啟動Chrome的遠程調試端口。你需要找到Chrome的安裝位置,在Chrome的地址欄輸入chrome://version就能找到Chrome的安裝路徑

開啟遠程控制命令
文件路徑/chrome.exe --remote-debugging-port=9222
開啟后的樣子(注意要關閉其他谷歌瀏覽器的窗口)

記住其中的webSocketDebuggerUrl后面的地址。這就是我們遠程鏈接的地址
Puppeteer
const puppeteer = require('puppeteer-core')
async function run(){
var address = 'ws://127.0.0.1:9222/devtools/browser/6f2ae4-ff55-46e9-a50-7f89746a98e8'
const browser = await puppeteer.connect({
browserWSEndpoint: address,
});
const page = await browser.newPage();
response = await page.goto('http:www.baidu.com', { waitUntil: 'load', timeout: 0 });
}
run()
這段代碼最核心的就兩行,連接遠程的Chrome
var address = 'ws://127.0.0.1:9222/devtools/browser/6f2ae4-ff55-46e9-a50-7f89746a98e8'
const browser = await puppeteer.connect({
browserWSEndpoint: address,
});
測試的過程中,可能會發現標簽頁越開越多。你的爬蟲執行完操作以后,可以使用await page.close()關閉當前標簽頁。只要至少保留一個標簽頁不關閉,那么這個瀏覽器窗口就可以一直使用
selenium
chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium\chrome_temp"
對於-remote-debugging-port值,可以指定任何打開的端口。
對於-user-data-dir標記,指定創建新Chrome配置文件的目錄。它是為了確保在單獨的配置文件中啟動chrome,不會污染你的默認配置文件。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")chrome_driver = "F:\\chromedriver.exe"driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)driver.find_element_by_id('kw').send_keys('你好')
