使用selenium点击swf

时间:2009-05-04 20:28:05

标签: flash selenium

我正在尝试使用Selenium IDE来点击html页面中的swf。 DIV id和嵌入ID更改取决于时间戳,例如id="FLASH_0_23458974594",我尝试过使用id=/^FLASH_([0-9]+_)[0-9]([0-9]+)/id="FLASH_glob:*",但IDE没有使用swf。我在这里做错了吗?

感谢。

4 个答案:

答案 0 :(得分:3)

你试过包含吗?

click | //object[contains(@id,'FLASH_')]

答案 1 :(得分:2)

单击Flash对象将无法使用。使用Selenium自动化Flash的唯一已知方法是通过JavaScript公开Flash对象中的UI函数。然后,您可以使用Selenium RC中的getEval()函数调用该JavaScript。

答案 2 :(得分:1)

这个话题已经很老了,但是我花了很多次才找到解决方案,我回答了这个问题。 正如@Zugwalt所说,您可以使用Java Robot类。但是,如果您使用Selenium Grid和RemoteWebDriver,您可以使用jsch打开与远程计算机的ssh连接,并致电xdotool以点击给定位置。

您可以在此Gist

上查看示例

答案 3 :(得分:0)

我们将Java客户端用于selenium,有时让我们的测试使用Java Robot来移动鼠标并在我们无法直接与Web浏览器交互时单击。这有缺点(例如浏览器必须位于前台,准确性可能有点棘手)但是当在虚拟机中运行测试时,这些缺点会被最小化。