g1879 / DrissionPage

基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。
https://drissionpage.cn
BSD 3-Clause "New" or "Revised" License
7.69k stars 727 forks source link

drissonpage和playwright對接異常 #348

Closed sark-shy closed 1 week ago

sark-shy commented 2 weeks ago

當我使用樣例程序來轉接通過本地chrome瀏覽器啟動的page對象和browser對象時,提示 獲取失敗 這是我的程序:

from DrissionPage.common import from_playwright
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
    browser = p.chromium.launch(channel='chrome')
    page = browser.new_page()

    try:
        # use from_playwright create DrissionPage obj
        drission_page = from_playwright(page)

        # test func
        drission_page.get("https://www.DrissionPage.cn")

    except Exception as e:
        import traceback

        print("smt error:")
        traceback.print_exc()

錯誤提示:

smt error:
Traceback (most recent call last):
  File "C:\Users\Willy\Desktop\no_account\test.py", line 77, in <module>
    drission_page = from_playwright(page)
  File "C:\Users\xxx\xxx\xxx\xxx\\site-packages\DrissionPage\common.py", line 51, in from_playwright
    raise RuntimeError('獲取失敗。')
RuntimeError: 獲取失敗。

我的本地chrome版本信息為:

Google Chrome | 127.0.6533.120 (Official Build) (64-bit) (cohort: Stable)
-- | --
Revision | c51f2916e4a14157c276fd33c8bfb24155aac1ad-refs/branch-heads/6533@{#2000}
OS | Windows 10 Version 1607 (Build 14393.2189)
JavaScript | V8 12.7.224.18
User Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

兩個庫版本為:drissonpage==4.0.5.6 playwright==1.46.0

cuinima commented 2 weeks ago

@sark-shy 是因为from_playwright中使用了 from psutil import net_connections 需要管理员权限运行

sark-shy commented 2 weeks ago

使用管理員權限運行pycharm然後執行我的測試程序仍然出現一樣的錯誤,似乎是drissonpage在通過cdp操作瀏覽器時無法連接,IP不正確

g1879 commented 1 week ago

我也不了解,我没有用过playwright,这个方法可能是有问题的。