headless=true的模式下是无法播放声音的,只有设置false才能实现
两种方式
1、可以通过修改浏览器启动参数来允许自动播放声音:
from playwright.sync_api import sync_playwright with sync_playwright() as p: # 配置浏览器参数以允许自动播放 browser = p.chromium.launch( args=[ '--autoplay-policy=no-user-gesture-required', # 允许自动播放 '--disable-features=PreloadMediaEngagementData,AutoplayIgnoreWebAudio' # 禁用相关限制 ], headless=False # 非无头模式,便于测试 ) page = browser.new_page() page.goto('https://example.com') # 替换为你要测试的网站 # 等待音频元素加载完成 page.wait_for_selector('audio') # 点击页面以触发用户交互(有些网站可能仍然需要) page.click('body') # 等待一段时间以观察效果 page.wait_for_timeout(10000) browser.close()2、使用 JavaScript 执行播放
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() page.goto('https://example.com') # 替换为包含音频的网站 # 等待音频元素加载 audio_selector = 'audio' page.wait_for_selector(audio_selector) # 执行JavaScript播放音频 page.evaluate('''() => { const audioElements = document.querySelectorAll('audio'); audioElements.forEach(audio => { audio.play().catch(e => console.log('播放失败:', e)); }); }''') # 等待一段时间以观察效果 page.wait_for_timeout(10000) browser.close()
网友回复
有没有开源的solo agent一句话描述就能开发直接运行的前后端应用源代码?
订单支付过程中部分商品库存不足如何处理?
python如何开发一个自定义域名后缀的邮箱系统及登录发送邮件管理web页面?
有没有开源的项目将图片视频声音文字转场特效编排自动生成剪映草稿json文件?
有没有摄像头捕获眼球转动操作鼠标的开源代码?
localstorage如何生成自增的键值对进行增删改查?
python有没有将python脚本与python运行环境一键打包成exe的代码?
nodejs如何执行浏览器中运行的js代码?
iframe中如何阻止其他域名网页的打开或跳转?
webrtc如何实现多人音频电话会议?