javascript代码可以在不同的网页上继续运行吗?

Sta*_*xks 0 javascript browser-automation

我正在尝试编写一个运行在不同网页上的JavaScript.脚本应在搜索栏中键入内容,单击搜索,单击结果,然后将每个结果文本保存到数组中.它看起来像:

function returnresults(queries){
  arrayofcontent = [];

  for each query {
    type query in searchbar;
    submit search;
    result[0].click(); // go to first result
    arrayofcontent.push(pagecontent.innertext);
  }
  
  return arrayofcontent;
}
Run Code Online (Sandbox Code Playgroud)

问题是脚本点击搜索后脚本似乎停止了,这让我觉得脚本在移动到另一个页面时会自行卸载,即使我在Google Chrome的javascript控制台中直接输入脚本.有没有人知道如何告诉谷歌浏览器即使在页面之间移动后仍继续运行脚本?

Sco*_*cus 7

简答:不.

当您检查浏览器选项卡中发生的情况(包括使用控制台)时,您只能检查该选项卡中加载的内容.如果您导航到该选项卡中的另一个页面,则会抛出最后一页内存中的所有内容,并加载新的页面内容.

您需要的是存储脚本的状态,然后在另一页上检索该状态.存储状态可以在许多不同的方式来完成(饼干,localStorage,sessionStorage,服务器端的数据库),你需要决定哪些是适合你的架构和使用情况.