Python-剧作家 : Is there a way to introspect and/or run commands interactively?

标签 python playwright-python

我正在尝试从 Selenium 转移到 Playwright 以执行一些网络抓取任务。

也许我养成了让 Selenium 一边运行浏览器一边测试运行中的命令和选择器的坏习惯。

有没有什么方法可以使用 Playwright 实现类似的效果?

到目前为止,我所取得的成就是在控制台上运行 playwright,类似于此:

from playwright.sync_api import sync_playwright
with sync_playwright() as pw:
    browser = pw.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto('https://google.com')
    page.pause()

我得到一个浏览器窗口和一个 Playwright Inspector - 从那里我的命令或变量都不会执行。

最佳答案

我会使用 can i run playwright outside of 'with'? 中的技术和 How to start playwright outside 'with' without context managers在交互式回复上:

PS C:\Users\foo\Desktop> py
Python 3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from playwright.sync_api import sync_playwright
>>> p = sync_playwright().start()
>>> browser = p.chromium.launch(headless=False)
>>> page = browser.new_page()
>>> page.goto("https://www.example.com")
<Response url='https://www.example.com/' request=<Request url='https://www.example.com/' method='GET'>>
>>> page.title()
'Example Domain'
>>> page.close()
>>> browser.close()
>>> p.stop()

如果您使用 page.pause(),请尝试在浏览器开发工具控制台中运行 playwright.resume() 以恢复 Python repl。

如果您真的需要从脚本而不是 Python repl 执行此操作,您可以使用 code interpreterroll your own ,但我会尽可能避免这种情况。

关于Python-剧作家 : Is there a way to introspect and/or run commands interactively?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74517390/

相关文章:

python - Python 编剧 : Leaving Tabs and Browser Windows Open After Testing

Python 测试断言(单元测试,剧作家)

python - 在 Python 版剧作家中,如何获取与 ElementHandle 相关的元素( child 、 parent 、祖 parent 、 sibling )?

python - 如何去除图像中对象的边缘噪声

python - 如何检测按键按下情况?

python - 使用 Playwright 登录 Twitter

python - playwright headless chromium 找不到选择器,但在 UI 模式下找到了

python - C++调用Python如何处理SystemExit异常

python - 仅将非空列表转换为列表列表中的元组

python - 导入错误 : cannot import name 'get_default_renderer'