0

IE とのみ互換性のある複雑なエピファニー Web アプリケーションがあります。UI での一連のアクションは次のとおりです。

ページには複数のフレームがあり、その中にボタンがあり、クリックすると一連のメニュー オプションが表示されます。そして、それらの HTML は次のとおりです。

<div class="FWDropdownMenu" id="test_dropdown">
<div class="DropdownMenuFrame">
<table>
<tbody>
<tr>
<td>
<span class="eABCD" id="e1">
<div class="DropdownMenuItem" id="test2_dropdown" onclick=return eTop.Fire(1,this,event)">
<table>
<tbody>
<tr>
<td>
<div>Option 1</div>
</td>
</tbody>
</table>
</div>

オプション1をクリックしたいので、これを使用して要素を見つけました:

List<WebElement> options = driver.findElements(By.tagName("table")
                            .tagName("td").id("e1"));    

Webdriver は要素を取得できますが、要素をクリックすることはできません。要素が表示されないというエラーが発生しましたが、メニューオプションをクリックしてオプションが画面に表示されても、まだクリックできません。

考えや提案はありますか?

4

2 に答える 2

1

私は方法を発見しました。将来誰にでも役立つ可能性があるため、ここに投稿します。

WebElement element = driver.findElement(By.id("test2_dropdown"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

このメソッドは、javascript を使用してボタンをクリックします。私のアプリケーションの設計により、セレンを介して要素をクリックすることはできませんでしたが、内部の JavaScript を使用して、タスクを正常に完了することができました。

スタックオーバーフローに感謝!!

于 2015-05-27T17:37:30.560 に答える