【问题标题】:Pressing a button on a website with javascript [duplicate]使用javascript按下网站上的按钮[重复]
【发布时间】:2016-12-06 00:47:29
【问题描述】:

我正在尝试简单地(在 HTML 脚本标签中管理的 JavaScript 环境中)加载网页并按下该页面上的按钮。我也希望能够从网页上读取数据,但是一旦我按下按钮工作,这应该是不言自明的。我四处寻找解决方案,但似乎都没有。

为了控制环境,我有 2 个简单的网站。第一个有一个调用 JavaScript 函数的按钮,我尝试在其中加载网站 2 并按下另一个按钮。在网站 2 上,有一个按钮,当按下该按钮时,会调用 JavaScript 函数并生成一个对话框。

我可以使用 window.open() 加载第 2 页,并且我相信它有一个返回类型,它是网站的句柄,我保存了它。我尝试使用该句柄调用网页 2 中的 javascript 函数。我尝试通过 ID 获取元素并使用 click()/submit()。这是当前尝试的代码:

网站 1:

<html>
    <body>
        <script  language = "javaScript">
            function print() {
                //alert('Hello World');

                var win = window.open("file:///Users/Jacob/Documents/2ndWebTest.html");

                win.document.form[0].submit();
            }
        </script>
        <p><button onclick = "print()">test</button></p>
    </body>
</html>

网站 2:

<html>
    <body>
        <script  language = "javaScript">
            function testFunc() {
                alert('Hello World');
            }
        </script>
        <p><button onclick = "testFunc() id = "buttonTest"">test</button></p>
    </body>
</html>

我正在尝试浏览网站层次结构并从中提取数据。我认为这至少在理论上应该可行,但我无法访问网站 2 上的任何功能或元素。我做错了什么?

【问题讨论】:

  • 当然是一个有趣的想法,但我相信这属于跨站点脚本。

标签: javascript html


【解决方案1】:

在您上面的示例中,Web 服务器将抛出拒绝访问错误,除非您授予它访问目标文件所在文件夹的权限。

在我的本地计算机上,我可以通过设置一个名为 TestSite 的虚拟目录并将您的两个文件放入其中来使您的示例正常工作。我用这个命令访问另一个:

 var win = window.open("localhost/TestSite/2ndWebTest.html");

我还将文件 2ndWebTest.html 中第 8 行的双引号修改为:

<p><button onclick = "testFunc()" id = "buttonTest">test</button></p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 2019-08-29
    • 1970-01-01
    • 2021-04-09
    • 2017-01-16
    相关资源
    最近更新 更多