在某些网页上不断执行javascript代码

时间:2016-08-31 10:10:12

标签: javascript jquery html bots

我想要达到的目的是: 我加载了一些网页,这里有一些可点击的内容,如按钮,可点击的div等。我想要实现的是:我想不断运行javascript代码,点击一些按钮然后等待15秒后,刷新页面并重复。 (是的,某种机器人)。我知道如何实现点击等。我将管理代码,但如何实现这样的功能?我知道Chrome有一些扩展可以做这些事情,但我现在不记得了。不胜感激一些提示。

我尝试创建自己的html文件并动态加载我希望机器人工作的页面的整个html到我的html文件的div中。这样的事情。

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Load remote content into object element</title>
  </head>
  <body>
    <!--<div id="siteloader" style="width: 1000px; height: 1000px;"></div>​-->
    <div id="siteloader"></div>
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script>
        $("#siteloader")
            .html('<object data="http://linktowebpage.com"/>');
    </script>
  </body>
</html>

问题是:它创建了一个iframe,它是如此之小,我不能让它变得更大(它像150x150像素)。

正如我所说的,我不想做这些事情(创建我自己的页面等)。

会感激任何提示;)

2 个答案:

答案 0 :(得分:1)

据我了解,您希望在某些第三方网页上运行您的JS。使用<iframe>它将无效,因为您最多可以阅读页面内容。

您可以编写一个代码来执行所有操作并在控制台中运行它。但是,例如,如果你想使用jQuery,一个页面必须拥有它。所以在这种情况下最安全的选择是用纯JavaScript编写它。正如我猜测的那样,缺点和取消资格的问题是你必须在每次刷新后运行它。

在您的情况下,您可以使用Tampermonkey(Chrome)或Greasemonkey(Firefox)等工具,它允许您按域运行JS。

答案 1 :(得分:0)

使用setInterval()重复执行此功能,并使用ajax()加载页面。

检查以下示例以开始使用。

var i = 1;
setInterval(function() {
  $.get("http://linktowebpage.com", function(data) {
    $('#siteloader').html(data);
  });
}, 60000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>Specified URL will be loaded every 1 minutes</div>
<br>
<div id="siteloader"></div>