这是我的第一个问题! :)
我会具体说明:
- 我需要直接自动与特定网页交互!
- 我需要像特定
<a>
或特定<div>
一样访问其上的元素,并在该特定元素上生成单击事件!
我需要知道是否可以使用插件来做到这一点,因为如果不是,我的整个项目就会:(崩溃!
(我尝试在我的页面上使用脚本,但由于目标页面位于不同的域上,因此违反了 JavaScript 的基本规则/策略。所以我不能那样做...
谢谢你的时间!
当然你可以这样做。
以下是我在其中一个专用扩展中使用的代码。
var btn = document.getElementById(BTN_ID);;
if (btn) {
var clickEvent = document.createEvent("MouseEvent");
clickEvent.initMouseEvent("click", true, true, document.defaultView,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
btn.dispatchEvent(clickEvent);
}
笔记
这需要在 DOMContentLoaded 上或之后完成,以便 DOM 元素变得可用
这是在内容上下文中执行的(如果您知道我的意思)
您可以使用 document.querySelector() 并向其传递一个选择器字符串,而不是使用 getElementById。
好吧,Firebug和大多数浏览器开发人员工具允许您将脚本/包含添加到实时网页中,然后您可以做任何您想做的事情。
同样,GreaseMonkey for Firefox 允许您以更自动的方式执行此操作,并且您可以更轻松地与他人共享此类脚本。
从插件描述:
关于此附加组件
允许您自定义网页的显示或行为方式,方法是 使用少量的 JavaScript。
数百个脚本,用于各种流行网站,已经 可在 http://userscripts.org 购买。
您也可以编写自己的脚本。退房 http://wiki.greasespot.net/开始。