自動化に Selenium 2/WebDriver を使用しています。テーブルがあり、その中の行を選択しようとしています。テストを実行すると、行がクリックされたかのように強調表示されますが、すぐに次のようになります。
「org.openqa.selenium.StaleElementReferenceException: 要素が DOM に関連付けられていません」
エラーが発生し、テストは失敗します。
コードは次のとおりです。
@Test
public void rowSelection() throws Exception
{
SeleniumHelper helper = new SeleniumHelper();
action = new SeleniumActionHelper(driver);
helper.login();
String testUrl = navigateToUrl("option/listOptions.xhtml");
driver.get(testUrl);
WebElement table = findElementById("tableSection:dataTableWrapped_data");
List<WebElement> allRows = table.findElements(By.tagName("tr"));
for (WebElement row : allRows)
{
List<WebElement> cells = row.findElements(By.tagName("td"));
for (WebElement cell : cells)
{
WebElement listName = cell.findElement(By.xpath("./*[text()='body_build']"));
listName.click();
}
}
}
listName.click() アクションの前後に Thread.sleep(2000) を配置しましたが、どちらも役に立ちませんでした。どんな助けでも大歓迎です。