1 安裝playwright
# 安裝
pip install playwright
# 安裝 Chromium、Firefox 和 WebKit瀏覽器命令
playwright install
2 啟動瀏覽器
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("http://playwright.dev")
print(page.title())
browser.close()
3 帶參數和代理啟動瀏覽器
chrome 參數說明網站 https://blog.csdn.net/mimishy2000/article/details/88315347
firefox 參數說明網站 https://blog.huati365.com/3ad5f64ade276769
from playwright.sync_api import sync_playwright
from playwright_stealth import stealth_sync
# playwright_stealth 這個第三方模塊可執行
p = sync_playwright().start()
chrome_path = r"C:\Chrome\chrome.exe"
user_data = r"C:\test"
chrome_param = [
'--disable-popup-blocking',
'--disable-blink-features=AutomationControlled',
'--disable-bundled-ppapi-flash',
'--ignore-ssl-errors',
'--ignore-certificate-errors',
'--disable-gpu',
'--disable-webrtc-encryption',
'--disable_non_proxied_udp',
'lang=en-us'
]
proxy = {"server": "socks5://192.168.50.115:5000"}
browser = p.chromium.launch_persistent_context(headless=False,
args=chrome_param, # 瀏覽器參數列表 chrome,firefox,webkit都可以通過這個來設定參數
executable_path=chrome_path,# 設置瀏覽器的可執行文件
user_data_dir=user_data, # 設置瀏覽器緩存路徑
user_agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
ignore_default_args=['--enable-automation'], # 這個可以直接看函數內的列表參數說明
chromium_sandbox=False, # 禁用chrome的方式
ignore_https_errors=True,
proxy=proxy # 設置代理
)
# 這里不要用new_page的方法 它在打開瀏覽器的時候會多打開新的標簽頁
page = browser.pages[0]
# page = browser.new_page()
stealth_sync(page)
page.goto('https://ip.voidsec.com/')
page.wait_for_timeout(600)
# 關閉瀏覽器
bbrowser.close()
p.stop()
4 火狐瀏覽器啟動
from playwright.sync_api import sync_playwright
import time
from playwright_stealth import stealth_sync
user_data = r"C:\test_f"
firefox_path = r"C:\firefox\firefox.exe"
p = sync_playwright().start()
firefox_arg = [
"intl.accept_languages=zh-CN",
]
proxy = {"server": "socks5://192.168.50.115:5000"}
# 這里重新打開一次會出現打不開頁面的情況 需要把firefox的緩存清掉在打開
browser = p.firefox.launch_persistent_context(headless=False, user_data_dir=user_data, executable_path=firefox_path,
ignore_https_errors=True,
args=firefox_arg # 此參數未生效
)
page = browser.pages[0]
stealth_sync(page)
page.goto("https://bot.sannysoft.com/")
page.wait_for_timeout(30000)
browser.close()
p.stop()