可以使用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 小助理,如未能正确解答您的问题,请继续追问。 |