2016-08-01 145 views
1

我试图简单地(在HTML脚本标记中管理的JavaScript环境中)加载网页并在该网页上按下按钮。我也希望能够从网页上读取数据,但是一旦我按下按钮,这应该是不言自明的。我已经四处寻找解决方案,但似乎没有任何工作。使用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上的任何功能或元素。我做错了什么?

+1

肯定是一个有趣的想法,但是我相信这会属于跨站点脚本。 –

回答

1

在上例中,Web服务器将抛出访问被拒绝的错误,除非您允许它访问目标文件所在的文件夹。

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

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

而且我也修复文件2ndWebTest.html在8号线双引号念想:

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