在 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
phpunit-selenium 的 keys() 不适用于 safari webdriver