以编程方式单击另一个网页中的输入按钮
programmatically click an input button in another web page?
我知道有几个类似的问题,但我还没有看到我的具体需求的答案:有没有一种方法来点击一个按钮在一个单独启动的网页?例如,我通过
启动另一个网页:-
<a href="x" target="y">
或 -
window.open()
然后我可以在启动的网页中以编程方式点击输入按钮吗?
除非页面在您自己的控制之下或驻留在同一域中,否则不可能。这将是跨站点脚本,所有浏览器都有适当的安全沙箱来防止类似的事情发生。为什么你要用编程的方式按下一个页面上的按钮,而你也要用编程的方式打开这个页面?
是。当你做窗户的时候。打开它会返回一个窗口对象。Var win = window.open();win.fnSubmit ();假设fnSubmit是另一个页面上执行.click操作的函数。
这是一些黑客注入攻击所使用的技术。基本上,你可以将javascript注入querystring,它可以将自己附加到DOM,更改图像或swf文件源,或者只是在加载页面时运行;这里有例子,这里也有例子。
或者,如果你已经知道其他页面的结构,你可以直接针对方法或对象。
但是因为这些都不是好的事情,我假设你有很好的理由为什么你不能触摸接收页面上的代码,但想要调整它的行为?
你可以点击任何你可以选择的元素
你只能在你有安全权限的窗口中选择元素。
您有权使用自己的窗口,也有权使用同一域内的窗口&安全。
要访问元素,你需要窗口对象,这是从window.open
var newWin = window.open(siteYouHaveAccessTo);
newWin.document.getElementById('foo').click();
如果你试图点击www.google.com
上的Search
按钮,你是SOL。
调查显示…也许吧。如果您做了功课,您可能能够在同一子域中进行通信。它从那里变得越来越困难——我从来没有一致的跨浏览器子域支持在两个窗口(或iframes)之间操作JavaScript。
也就是说,如果它们是相同的域,这是一个下降到它的问题。如果我有:
- 窗口A打开窗口B
- 窗口B声明
var winBVar
- 窗口A能够访问winBVar之后,只有在该变量被声明之后(如,您仍然需要等待文档)。onload等)
- 更改输入按钮's onClick参数
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- 将 CSS 应用于禁用的输入按钮
- 仅对一个输入按钮禁用应用
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 如果未选中复选框,则禁用引导输入按钮
- 如果从文件输入按钮调用 .ajaxSubmit() 时,它是必需的表单
- JavaScript - 输入按钮隐藏 - 不起作用
- 输入按钮分隔显示按钮名称和值
- 单击列表中的引导输入按钮将禁用其他按钮
- javascript的事件监听器将下拉列表转换为输入按钮
- 表单验证和提交时提交文本&输入按钮上带有验证的图像
- JQuery-防止表单在输入按钮上提交,out防止按键敲击
- 如何使用javascript移除/隐藏、更改输入按钮的标题
- 检查输入按钮
- 每当我按下输入框内的键盘输入按钮(其中有文本)时,都会出现新的段落
- 每当在文本区域上输入按钮时,都会触发按钮
- 如果 e.keyCode 是“输入”按钮,并且元素包含其他文本,则验证条件
- 单击输入按钮时更新文本区域内容
- 如何显示输入按钮并关闭当前窗口