在 selenium webdriver 中从 Flash 播放器读取内容

Posted

技术标签:

【中文标题】在 selenium webdriver 中从 Flash 播放器读取内容【英文标题】:Reading contents from flash player in selenium webdriver 【发布时间】:2017-03-22 22:26:49 【问题描述】:

我有一个应用程序,如果我点击一个链接,它会打开一个 Flash 播放器,里面有显示 20-30 行的网格。 是否可以使用 selenium webdriver 读取内容。

HTML 代码:

<embed id="mysSys" 
src="flex-ui/opr-event-browser.swf" 
flashvars="viewId=f746df4f-8f82-491e-b9dc-a82151953061" 
quality="high" 
bgcolor="#ffffff" 
name="EvtSys" 
allowscriptaccess="sameDomain" 
pluginspage="http://www.adobe.com/go/getflashplayer" 
wmode="opaque" 
type="application/x-shockwave-flash" 
 align="middle" >

【问题讨论】:

【参考方案1】:

如果它是您的 Flash 应用程序 - 这很简单。您的 Flash 开发人员需要为 Flash 注入额外的库 Flex Pilot。然后你可以在 Flash 应用程序中导航,就像在 html DOM 中一样。

一些额外的

plugin 用于 Selenium IDE 或更强大的tool

【讨论】:

【参考方案2】:

不,这是不可能的。 Selenium 根本无法读取 Flash 内容。 除非您以坐标为目标,否则 Selenium 也无法访问 Flash 元素。

【讨论】:

Selenium 可以 :) 你只需要说服 flash 更加开放 ;)

以上是关于在 selenium webdriver 中从 Flash 播放器读取内容的主要内容,如果未能解决你的问题,请参考以下文章

Selenium WebDriver 无法通过链接文本找到元素

selenium webdriver 执行测试常见问题

Python Selenium Webdriver - 代理身份验证

Selenium WebDriver定位元素

如何使用 selenium webdriver 避免隐藏类

Python Selenium.WebDriver 浏览器启动参数设置『Edge如何使用启动参数』