0

私はWebdriverテストを作成しました。実行すると、完了する場合と完了しない場合があります。

理由がわかりません。ページが読み込まれたことを確認する方法が堅牢ではないと思います。

「id/name / cssまたはページ上のテキスト」という要素を待つことで、Webサイトが正しい場所にあることを確認しますが、次の要素を見つけることができます。

<a href="javascript:doaction('1');">
<img src="images/english/go.gif" border="0" width="39" height="24"></a>

<a href="javascript:doaction('2');">
<img src="images/english/go.gif" border="0" width="39" height="24"></a>

<a href="javascript:doaction('3');">
<img src="images/english/go.gif" border="0" width="39" height="24"></a>

誰かがこれらの要素を見つける効果的な方法はありませんか?

4

2 に答える 2

2

hrefやsrcなどの属性で要素を見つけることができます。

By link = By.cssSelector("a[href=\"javascript:doaction('1');\"]"); // The quotes are escaped out because of the single quotes in the href.  Normally I would just do like I did with src and use single quotes around the href
By src = By.cssSelector("img[src='images/english/go.gif']");

WebElement linkElement = driver.findElement(link);
linkElement.click();

WebElement srcElement = driver.findElement(src);
srcElement.click();
于 2013-03-26T16:09:33.553 に答える
0

それからのメソッドをいつでも使用できます。ByつまりlinkText、href=""プロパティに従って要素を検索します。

すなわち(ドライバーがすでに開始されていると仮定)。

By doActionOneAnchor = By.linkText("javascript:doaction('1')");
WebElement doActionOne = driver.findElement(doActionOne);

これが、使用できるWebElementです。何らかの理由で画像自体に基づいて行動する必要がある場合は、いつでも次のことができます。

WebElement imgDoActionOne = doActionOne.findElement(By.tagName("img"));

それが役に立てば幸い。

于 2013-03-26T11:56:13.713 に答える