3

次のページでは、3 つの要素のみが表示されています。他の要素を表示するには、スクロール バーを使用する必要があります。
私はセレンウェブドライバーを使用しています。
「4 行目」または「5 行目」をクリックしようとすると、ElementNotVisibleException がスローされました。
「4行目」と「5行目」を表示してからクリックできるようにするために、スクロールバーを移動する方法はありますか(または他の方法ですか?)。
スクロールバー付きの WebElement

<b>Source code of this element:</b>
<pre>
<html><body>
<div style="WIDTH: 215px; HEIGHT: 50px; OVERFLOW: auto; background-color:#66FFCC">
<ul>
<li><div>First Row</div></li>
<li><div>Second Row</div></li>
<li><div>Third Row</div></li>
<li><div>Fourth Row</div></li>
<li><div>Fifth Row</div></li>
</ul>
</div>
</body></html>

4

2 に答える 2

4

まあ、これを行うためのセレンAPIは見たことがありません。

しかし、JavaScriptExecutorあなたとこれを行うことができます。

方法は次のとおりです

//Select element by some method

WebElement we = driver.findElement(By.id("elementid"));

// create JSExecutor object

JavascriptExecutor executor = (JavascriptExecutor)driver;

// Do the JS click 

executor.executeScript("arguments[0].click();", we); 
于 2013-10-22T10:19:54.973 に答える
0

4行目または5 行目は最初は表示されません。表示するには、そのコンテキストの上にカーソルを合わせる必要があります。直接クリックする最も簡単な方法は、javascriptExecuter を使用することです。

((JavascriptExecutor)driver).executeScript("$('html ul li+li+li+li>div').click();");

id,name..etc などの属性を使用できれば、要素の検索がはるかに簡単、高速、効率的になります。
上記のコードは「4 行目」をクリックします。

于 2013-10-22T10:30:23.933 に答える