来自Javascript API的Selenium WebDriverJS

挣扎了一下,以便同时了解WebDriverJS和promise …并且大部分示例代码都是针对Python / Java,而不是Javascript。 所有我想要做的是获得一个页面的完整的HTML。 所以,如果你看看WebDriverJS的相同的代码:

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。 我从例子中学到了很多东西 ,所以我在这里有点失意。

如果文档不清楚,我通常更喜欢浏览源代码。

以下是包含相关getPageSource()函数的主要webdriver.js源代码 :

 /** * 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()'); };