親愛なるSeleniumWebdriverスペシャリスト、
"/ html / body / form / div [2] / div [4] / div [1] / div / div / div [1] /でXPathクエリを実行すると、(ifステートメントで)次の例外が発生します。 a " http://www.domain.com.au/Property/For-Sale/House/NSW/Auburn/?adid=2010111460から:
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"/html/body/form/div[2]/div[4]/div[1]/div/div/div[1]/a"}
以下は、この例外が発生したコードスニペットです。
WebDriver driver = new FirefoxDriver(firefoxProfile);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://www.domain.com.au/Property/For-Sale/House/NSW/Auburn/?adid=2010111460");
if (driver.findElement(By.xpath("/html/body/form/div[2]/div[4]/div[1]/div/div/div[1]/a")).isDisplayed() &&
driver.findElement(By.xpath("/html/body/form/div[2]/div[4]/div[1]/div/div/div[1]/a")).getAttribute("href").length() > 0) {
WebElement photoPageElement = driver.findElement(By.xpath("/html/body/form/div[2]/div[4]/div[1]/div/div/div[1]/a"));
photoPageURL = photoPageElement.getAttribute("href");
.....
}
このコードスニペットは、 http://www.domain.com.au/Property/For-Sale/House/NSW/Auburn/?adid= 2010007127などの他のプロパティから同じ要素を見つけることに成功しています。
このような例外の原因を特定するために、同じドキュメントをトラバースするための高品質のXML/XHTMLエクスプローラーを探しています。
例外が発生するリスクなしに要素の存在を確認することは可能ですか?driver.findElement(By.xpath(....)。isDisplayed())はそれを行うためのものだと思いました。
Windows XP/7でSeleniumWebdriver2.25.0、Java 7.0、Netbeans7.2を実行しています。
あなたのアドバイスをいただければ幸いです。
前もって感謝します、
ジャック