Javascript控制台不打印返回

时间:2019-05-24 14:28:12

标签: javascript selenium

我试图在一个简单的.js脚本中使用最佳语法,该脚本应该使用selenium驱动程序发出http请求。

当我在函数中使用console.log(ret)时,我可以看到检索到的html代码,但是如果我返回var并尝试console.log(getHTML(url)),则不会打印。为什么会这样?

下面的代码。注释/取消注释功能内的控制台行以查看其正在打印。

async function getHTML(url){
    try{
        await driver.get(url);
        var ret;
        await driver.getPageSource().then(function(data) { ret = data;});
        driver.quit();
        // console.log(ret);
        return ret;
    }
    catch(err){
        handleFailure(err, driver)
    }
}

var url = 'http://crossbrowsertesting.github.io/selenium_example_page.html';
console.log(getHTML(url));

如果有人想复制它,则代码的初始部分:

var chrome = require('selenium-webdriver/chrome');
var firefox = require('selenium-webdriver/firefox');
var {Builder, By, Key, until} = require('selenium-webdriver');

var screen = {
  width: 640,
  height: 480
};

var driver = new Builder()
    .forBrowser('chrome')
    .setChromeOptions(new chrome.Options().headless().windowSize(screen))
    .setFirefoxOptions(new firefox.Options().headless().windowSize(screen))
    .build();

function handleFailure(err, driver) {
     console.error('Something went wrong!\n', err.stack, '\n');
     driver.quit();
}

0 个答案:

没有答案
相关问题