2014-09-19 76 views
1

掙扎了一下,同時理解了WebDriverJS並承諾...並且大多數示例代碼都是針對Python/Java,而不是Javascript。我所要做的就是獲得一個頁面的完整html。所以,如果你看一下同一代碼WebDriverJS:來自Javascript的Selenium WebDriverJS API

var webdriver = require('selenium-webdriver'); 
... 
driver.get('http://www.google.com'); 
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver'); 
driver.findElement(webdriver.By.name('btnG')).click(); 
driver.wait(function() { 
return driver.getTitle().then(function(title) { 
    return title === 'webdriver - Google Search'; 
}); 
}, 1000); 

我想簡單地返回整個HTML文檔,而不是僅僅的稱號。在Python中,將是driver.page_source。我從例子中學到了很多,所以我在這裏有點失落。

回答

3

我通常更喜歡在文檔不清晰的情況下探索源代碼。

這裏是一個包含有關getPageSource() function主要webdriver.js source

/** 
* Schedules a command to retrieve the current page's source. The page source 
* returned is a representation of the underlying DOM: do not expect it to be 
* formatted or escaped in the same way as the response sent from the web 
* server. 
* @return {!webdriver.promise.Promise.<string>} A promise that will be 
*  resolved with the current page source. 
*/ 
webdriver.WebDriver.prototype.getPageSource = function() { 
    return this.schedule(
     new webdriver.Command(webdriver.CommandName.GET_PAGE_SOURCE), 
     'WebDriver.getAllWindowHandles()'); 
};