【问题标题】:Not able to click on a flash object无法单击 Flash 对象
【发布时间】:2018-02-05 18:40:10
【问题描述】:

如何单击框架内的 Flash 对象。 HTML 代码如下所示。

我找到了许多相关主题,但没有一个能解决我的问题。所以我在这里发布我的 HTML 代码。我是 selenium 新手,所以请多多包涵。

<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Visualizer Plugin</title>
  <link href="../../plugins/Visualizer/resources/css/mystyle.css" rel="stylesheet" type="text/css">
  <script src="../../plugins/Visualizer/resources/javascript/flex.js" type="text/javascript">
  </script>
  <script src="../../plugins/Visualizer/resources/javascript/PluginSupport.js?server=blt05574004" type="text/javascript">
  </script>
  <script src="../../plugins/Visualizer/resources/javascript/BaseController.js" type="text/javascript">
  </script>
  <script src="../../plugins/Visualizer/resources/javascript/Setup.js" type="text/javascript">
  </script>
  <style type="text/css" media="screen">
    body {
      margin: 0px;
      overflow: hidden
    }
  </style>
</head>

<body scroll="no" style="background-color: transparent;" onload="initSetupScript();">
  <div align="center">
    <div id="flashcontent">
      <object width="100%" height="100%" id="Visualizer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
			<param name="allowFullScreen" value="true">
			<param name="align" value="middle">
			<param name="quality" value="high">
			<param name="wmode" value="transparent">
			<param name="allowScriptAccess" value="sameDomain">
			<param name="type" value="application/x-shockwave-flash">
			<param name="src" value="../../plugins/Visualizer/resources/swf/../../plugins/Visualizer/resources/swf/Visualizer.swf?r=7.5.00">
			<param name="flashvars" value="bridgeName=Visualizer">
		</object>
    </div>
  </div>
  <script language="JavaScript" type="text/javascript">
    var src = "../../plugins/Visualizer/resources/swf/Visualizer";
    var id = "Visualizer";
    var uri = "../../plugins/Visualizer/resources/swf/";
    var flashvars = "";
    var release = "7.5.00";
    createSWF(src, id, uri, release, flashvars);
  </script>

</body>

</html>

【问题讨论】:

  • 更新了我的答案

标签: javascript selenium flash selenium-webdriver


【解决方案1】:

所以你需要flashcontent 而不是flash。您可以在 XPATH 下使用

//div[@id='flashcontent']//param[@name='quality']

xpath 上方将返回值为quality 元素

注意:如果上面的元素在任何框架下,那么你需要先切换它

如果 Selenium 无法对 Flash 内容进行操作。您需要使用另一个框架来自动化 Flash 内容,例如:Sikuli

参考:

http://www.softwaretestinghelp.com/sikuli-tutorial-part-1/

http://www.sikuli.org/testimonials.html

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2016-08-07
    • 2011-09-10
    相关资源
    最近更新 更多