-3
時間とともに変化するweblementの値を取得しようとしています。値は - Pending, Approved, Received
です。Selenium:forループ内のweb要素の値を変更する方法
値がReceived
に変更されたときにループを停止する必要があります。私はコードの下で試してみましたが、1つのループで正常に実行された後、エラーのある2番目のループで停止します。webelement not found with the given xpath
。
for(int i=0;i<=50;i++)
{
String exactvalue=driver.findElement(By.xpath("//tr[2]/td")).getText();
if (exactvalue.equals("Received"))
{
break;
}
else
{
driver.navigate().refresh();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException("executing sleep interrupted");
}
}
}
は、あなたがこのコードを試してみたことがありますか? –
webelementの値はxpath = // tr [2]/tdにあり、web要素の値が「Received」に変更されるたびに50回ページをリフレッシュしてループを中断しようとしています。初めてうまく動作しますが、2回目にエラーが発生し、webelement xpathが正しくないというエラーが表示されます。私はページをリフレッシュすることは、セレンが焦点を緩める原因と考えています。あなたのコードを試してみると、xpath = // tr [0]/td、// tr [1]/td、// tr [2]/td、// tr [3]/tdとそうではありません。私のweb要素の値は// tr [2]/tdにあります。 –
'// tr [2]/td'と言ったような特定の要素が必要な場合は、ここでforループを使用する意味は何ですか?あなたは私を更新できますか?なぜなら、ここではループのために使うのは意味がないからです。 –