0

の代わりに xpath でタイトルを取得する方法はありますかdriver.getTitle()

私は次のことを試しました: By.xpath("//title")

しかし、うまくいきませんでした。たとえば、StackOverflow

public class TestStack {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "chromedriver\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://stackoverflow.com/");
        WebDriverWait wait = new WebDriverWait(driver, 60);
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//title")));

        System.out.println(driver.findElement(By.xpath("//title")).getText());
    }

}

xpath による要素が見つかりません

4

2 に答える 2

2

問題はブラウザに依存しているようです。次のコードは FF 3.6 で正しい出力を生成しましたが、IE 9 と Chrome 31 の両方で失敗しました (空の文字列)。

WebElement title = driver.findElement(By.xpath("//title"));         
System.out.println(title.getText());

本当に使いたくない場合はgetTitle()、どのブラウザでも動作するはずです:

title.getAttribute("innerHTML");
于 2013-08-30T20:21:03.050 に答える