2009-05-04 33 views
5

私はHTMLページでswfをクリックするためにSelenium IDEを使用しようとしています。 DIV idおよび埋め込みIDの変更は、タイムスタンプに依存する。 id="FLASH_0_23458974594"id=/^FLASH_([0-9]+_)[0-9]([0-9]+)/またはid="FLASH_glob:*"を使用しようとしましたが、IDEがswfを取得していません。私はここで何か間違っていますか?swfをクリックするのにseleniumを使用してください

ありがとうございました。

答えて

3

試しましたが含まれていますか?

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

上の例を見ることができ、それが動作しませんでした。このエラーが発生しました: [エラー]ロケータが見つかりません:// object [@ id、 'FLASH_']]、エラー=エラー:要素//オブジェクト[@ id、 'FLASH_']が見つかりません – JLau

+0

埋め込みタグを使用しているのを見ただけです。 'object'を 'embed'に置き換える必要があるかもしれません。それ以外の場合は、関連するHTMLをページから質問に追加できますか? –

+0

IDEは埋め込みを使ってそれを検出できますが、それをクリックしていません。ログに表示されます - [info] Executing:| click | //埋め込み[contains(@ id、 'FLASH_')] | | それをクリックしていません。 – JLau

2

フラッシュオブジェクトをクリックしても機能しません。 Seleniumを使用してFlashを自動化する唯一の方法は、FlashオブジェクトのUI関数をJavaScriptで公開することです。次に、Selenium RCのgetEval()関数を使用してJavaScriptを呼び出すことができます。

0

Javaクライアントをセレンに使用しています。また、Webブラウザと直接対話できないときに、Javaロボットを使用してマウスを移動してクリックすることがあります。これには欠点があります(ブラウザがフォアグラウンドでなければならず、正確さはややこしいかもしれません)が、仮想マシンでテストを実行する場合、これらの不利益は最小限に抑えられます。

1

このトピックはかなり古いですが、解決策を見つけるのに何度も費やしたので、私はこの質問に答えます。 @Zugwaltと同様に、Java Robotクラスを使用できます。しかし、Selenium GridとRemoteWebDriverを使用する場合は、jschを使用してリモートマシンへのssh接続を開き、xdotoolを呼び出して所定の位置をクリックします。

あなたは私だけでした。このGist

+1

私は最後に、[Sikuli](http://www.sikuli.org/)をwebdriverで使い始めました。 – JLau

関連する問題