无法通过AfterLoad函数传递网址

时间:2019-01-22 07:43:06

标签: javascript node.js protractor cucumber

我正在尝试在nodejs中获取网页标题,并且以下代码可以正常工作。 我可以通过console.log(“标题为-” + webpagetitle)

var afterLoad=require('after-load');

var webdriver = require('selenium-webdriver'),
	By = webdriver.By,
	until = webdriver.until;

var chrome = require('selenium-webdriver/chrome');

var options = new chrome.Options();
options.addArguments("-headless");

var driver = new webdriver.Builder()
	.forBrowser('chrome')
	.setFirefoxOptions(options)
	.build();

	
	driver.get('https://www.google.com/').then(function()
	{
	driver.getTitle().then(function (webpagetitle) {
			 console.log("Title is - "+webpagetitle);
			 }
	)});

但是,当尝试使用如下所示的afterLoad时,则无法正常工作。

var afterLoad=require('after-load');

var webdriver = require('selenium-webdriver'),
	By = webdriver.By,
	until = webdriver.until;

var chrome = require('selenium-webdriver/chrome');

var options = new chrome.Options();
options.addArguments("-headless");

var driver = new webdriver.Builder()
	.forBrowser('chrome')
	.setFirefoxOptions(options)
	.build();

			
	
	afterLoad('https://www.google.com/', function (){
			driver.getTitle().then(function (webpagetitle) {
			 console.log("Title is - "+webpagetitle);
			 }
			 )}
			 ); 
	 

错误- 打开空白页面,并且在控制台中标题为空白,见下文:

C:\Users\Mohit.Garg\Desktop\Cucumber practice\example6>node test3.js
[20992:20792:0122/144906.947:ERROR:install_util.cc(687)] Failed to read HKLM\SOFTWARE\Policies\Google\Chrome\MachineLevelUserCloudPolicyEnrollmentToken: The system cannot find the file specified. (0x2)

DevTools listening on ws://127.0.0.1:12422/devtools/browser/a07420ff-c059-44e7-bce2-800e1dfd38f9
Title is -

C:\Users\Mohit.Garg\Desktop\Cucumber practice\example6>

1 个答案:

答案 0 :(得分:0)

 afterLoad('https://google.com',function(html){
        browser.getTitle().then(function (webpagetitle) {
           console.log("Heyyyyyy title is - "+webpagetitle);
        })
 })

不需要function关键字,因为afterLoad包中已经声明了after-load函数,因此您只需调用它即可。用法示例here