在 Safari 上使用 Selenium 时无法选择要 Airplay 的设备

Posted

技术标签:

【中文标题】在 Safari 上使用 Selenium 时无法选择要 Airplay 的设备【英文标题】:Unable to select device to Airplay to when using Selenium on Safari 【发布时间】:2018-07-09 10:31:13 【问题描述】:

目前我正在尝试使用 Selenium 和 Robot Framework 自动投射到 Safari 上的 Airplay 设备。

收到 Airplay 按钮后,我无法选择 Airplay 设备。出现的小菜单似乎无法让 Selenium 识别它,因此我目前无法与之交互。

我在使用带有 Chromecast 的 Chrome 浏览器执行类似任务时遇到了类似的问题,但在这种情况下,设备菜单有它自己的窗口 ID,而 Airplay 设备菜单似乎不是这种情况。

Airplay 按钮 - 点击它没有问题,因为该按钮在页面 html 中有自己的 id:

这是我无法交互的菜单,我无法选择“QA Apple TV” - 看起来这个菜单不是实际页面 html 的一部分,而且似乎没有它自己的窗口 ID:

这个 Airplay 设备菜单是通用的,所以会出现在 Youtube 等网站上。如果有人想自己看一下。 (假设您的网络上有 AppleTV)。

【问题讨论】:

【参考方案1】:

将您的浏览器置于开发者模式,观察点击“QA Apple TV”后将设置的值。在您的测试中,您可以使用 javascript 强制该值。

即:我认为单击某些字段后会假定“QA Apple TV”值;如果您知道哪个字段将采用该值,您可以使用 js 强制它并强制单击,即使使用 js (只是要清楚;))

【讨论】:

以上是关于在 Safari 上使用 Selenium 时无法选择要 Airplay 的设备的主要内容,如果未能解决你的问题,请参考以下文章

使用 Selenium 和 Python 和 Safari 查找 CVV

图像无法在 iOS 上的 Safari 上加载

phpunit-selenium 的 keys() 不适用于 safari webdriver

webdriver介绍&与Selenium RC的比较

HTML5 Video API - 全屏无法在 iPad 上使用 chrome/safari

java selenium操作safari