在新窗口中打开链接时,无法在queryselector中打开多个页面。在phantomjs中单击(目标=_空白)

Posted

技术标签:

【中文标题】在新窗口中打开链接时,无法在queryselector中打开多个页面。在phantomjs中单击(目标=_空白)【英文标题】:Multiple page cannot be opened in queryselector.click in phantomjs when the link is opened in new window(target=_blank) 【发布时间】:2017-11-15 05:27:45 【问题描述】: phantomjs 中无法读取第二页——我的代码如下 var webPage = require('webpage'); var page = webPage.create(); page.onLoadFinished = function() var title = page.evaluate(function() 返回 document.querySelector("#link1").innerText; ); 控制台.log(标题); page.evaluate(函数(args) document.querySelector("#link1").click(); ); page.onLoadFinished = function() var title1 = page.evaluate(function() return document.querySelector("#div1").innerText; ); console.log(title1); 幻影.exit(); ; ; page.open('http://staging.eubookingsdata.com/scrape1.php', function(status) ); 这里的第一页是“http://staging.eubookingsdata.com/scrape1.php” 我想在“http://staging.eubookingsdata.com/scrape2.php”中阅读 div 的内容 一切正常,但是当我在 scrape1.php“链接”中添加 target="_blank" 时它停止工作。 scrape1.php 点击正文> scrape2.php 你好世界 【参考方案1】:

var webPage = require('webpage'); var page = webPage.create(); page.onLoadFinished = function() //第一级 var title = page.evaluate(function() 返回 document.querySelector("#link1").innerText; ); 控制台.log(标题); //1级 //var newPage = webPage.create(); //var page1=page.pages[0]; page.evaluate(function(args) //第一级 document.querySelector("#link1").click(); ); ; page.onPageCreated = function(newPage) newPage.onLoadFinished = function(status) //第二级 控制台.log(状态); var title1 = newPage.evaluate(function() return document.querySelector("#div1").innerText; ); console.log(title1);//二级 幻影.exit(); ; ; page.open('http://staging.eubookingsdata.com/scrape1.php', 函数(状态) console.log("page1"); );

【讨论】:

以上是关于在新窗口中打开链接时,无法在queryselector中打开多个页面。在phantomjs中单击(目标=_空白)的主要内容,如果未能解决你的问题,请参考以下文章

如何使iframe中的链接都在新窗口打开?

如何让 SharePoint 链接列表默认在新窗口中打开?

如何使用angularjs在新窗口中打开链接

MarkDown在新窗口打开链接

在新窗口/标签中打开 Google Docs iframe 链接在 Internet Explorer 中不起作用

p:commandLink无法在新窗口/选项卡中打开页面