|
发表于 2024-3-29 10:14:35
|
显示全部楼层
可以使用Playwright模拟右键点击和选择菜单项的操作。以下是一个示例代码,演示如何实现您的需求:
- import asyncio
- from playwright.async_api import async_playwright
- async def get_video_url():
- async with async_playwright() as p:
- browser = await p.chromium.launch()
- context = await browser.new_context()
- # 打开页面
- page = await context.new_page()
- await page.goto('https://www.example.com/video')
- # 右键点击视频
- await page.click('video', button='right')
- # 等待菜单出现
- await page.wait_for_selector('menuitem')
- # 点击 "Copy video URL" 菜单项
- await page.click('text="Copy video URL"')
- # 等待剪贴板内容被复制
- await asyncio.sleep(1) # 根据实际情况调整等待时间
- # 获取剪贴板内容
- clipboard_text = await page.evaluate('navigator.clipboard.readText()')
- await context.close()
- await browser.close()
- return clipboard_text
- # 使用示例
- url = asyncio.get_event_loop().run_until_complete(get_video_url())
- print('Video URL:', url)
复制代码
需要注意的是,Playwright默认不支持模拟右键点击,但可以通过设置`enabled`参数开启右键点击功能。在启动浏览器之前,添加以下代码即可开启该功能:
- playwright_options = {
- 'args': ['--enable-features=NetworkService', '--remote-debugging-port=9222'],
- 'headless': False,
- 'devtools': False,
- 'executablePath': '/path/to/your/chrome/executable'
- }
- browser = await p.chromium.launch(**playwright_options)
复制代码
请根据您的实际情况修改代码中的URL、选择器和等待时间。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|