Доброго времени суток! Передо мной встала не совсем простая задача.
Пишу скрипт под грейсманки для автоматического сбора подарков с одного сайта. Речь о сервисе
http://findpresent.net/. Если вы не знакомы с ним, можете посмотреть примеры реализации там же.
Ну так, собственно, код
var images = document.getElementsByTagName("img")
for(var i=0;i<=images.length;i++) {
if(images[i].src.indexOf("http://findpresent.net/uploads/") !== -1) {
//alert(images[i].parentNode.tagName)
//alert("success!")
try{
clickevent=document.createEvent("MouseEvents")
clickevent.initEvent("click", true, true)
images[i].dispatchEvent(onclick)
//images[i].parentNode.onclick()
} catch(e) {
alert(e)
}
}
}
В общем, как вы уже поняли, не удается организовать клик мышью по картинке ни одним из нагугленных способов.
срабатывает исключение с текстом
[Exception... "Component is not available" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: file:///C:/Documents%20and%20Settings/%D0%9F%D0%B0%D0%BF%D0%B0/Application%20Data/Mozilla/Firefox/Profiles/o0e7txnf.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js :: anonymous :: line 385" data: no]
Еще могу добавить, что изображения генерируются в дивах скриптом, подгруженным с сайта findpresent
Получить ссылку на картинку и на див не составляет труда, а вот кликнуть по нему...
пробовал варианты
images[i].onclick()
images[i].dispatchEvent(onclick)