getPageSource()
获取最后加载的页面的来源。如果页面在加载后被修改(例如,通过Javascript),则不能保证返回的文本是修改后的页面的文本。返回的页面源是底层超文本标记语言的表示DOM这与从Web服务器发送的响应方式相同。
要获取页面源,您可以使用以下解决方案:
driver.get("https://www.google.com/");
System.out.println(driver.getPageSource());
driver.quit();
要获取WebElement的超文本标记语言作为Google主页上输入框的示例,您需要诱导WebDriver等待visibilityOfElement定位并使用getAt的("outerHTML")
方法,您可以使用以下解决方案:
driver.get("https://www.google.com/");
WebElement inputField = new WebDriverWait(driver, Duration.ofSeconds(5)).until(ExpectedConditions.visibilityOfElementLocated(By.name("q")));
System.out.println(inputField.getAttribute("outerHTML"));
控制台输出:
<input class="gLFyf" jsaction="paste:puy29d;" maxlength="2048" name="q" type="text" autocapitalize="off" autocomplete="off" autocorrect="off" autofocus="" role="combobox" spellcheck="false" title="Search" value="" aria-label="Search" data-ved="0ahUKEwjXj4ic9_H9AhVXAd4KHXJjCk0Q39UDCAQ">
WebDriver driver = new ChromeDriver();
driver.get("https://www.googel.com/");
String str = driver.getPageSource();
System.out.println(str);
对于蟒蛇https://www.tutorialspoint.com/get-html-source-of-webelement-in-selenium-webdriver-using-python