[英]Finding a image link and clicking with JavaScript
我在網站上自動化一些東西。 我需要檢查頁面上是否有“下一步”按鈕,然后單擊它。 這是HTML。
<a href="javascript:goToPage(2);"><span class="txt_purple"></span><img align="absmiddle" src="/icon_next.jpg" border="0" /></a>
我可以使用getElementsByTagName('img')來查找圖像,然后我該如何進行點擊?
用答案更新:
在這種情況下,無法添加ID。 我無法控制網頁。 這是別人的網站,所以我必須處理已有的網站。 這就是我做的:
var e = document.getElementsByTagName('img');
for (var i = 0; i < e.length; i++) {
if (e[i].hasAttribute('src') && e[i].getAttribute('src') == '/icon_next.jpg') {
e[i].click();
break;
}
編輯
為您的圖片添加ID id=next
<a href="javascript:goToPage(2);">
<span class="txt_purple"></span>
<img id="next" align="absmiddle" src="/icon_next.jpg" border="0" />
</a>
然后用
document.getElementById("next").click()
由於您可以找到圖像,因此您可以使用以下命令自動執行單擊:
document.getElementById('iwanttoclickthis').click();
“我需要檢查頁面上是否有”下一步“按鈕”
如果要查明元素是否存在:
if(document.getElementById("someID")){
“然后點擊它”
編輯1
看到這個小提琴 - 點擊事件是在頁面加載時引發的。 您也可以直接點擊<a>
除此之外還有一點比你想象的要多,因為你試圖調用<a>
點擊。 這些不保證具有單擊事件處理程序。 看到這個答案 。 你需要這樣的東西:
var elem = document.getElementById('myNext');
if( elem )
{
var event = document.createEvent("MouseEvents");
event.initEvent("click", true, false);
elem.dispatchEvent(event);
}
但是,這有點像黑客。 您可能只想直接在a
上定義onclick並調用該函數。
編輯2
您可能真正想要的是在href本身上定義onclick。 看到這個更新的小提琴 。 該功能在頁面加載以及如果單擊解雇a
在各種情況下的元素傳遞。
HTML:
<a id="myNext" href="#" onclick="clickAction(this)">
<span class="txt_purple"></span>
<img align="absmiddle" src="<yoursource>" border="0"/>
</a>
然后適當調用該函數:
function clickAction(element)
{
alert(element);
}
var elem = document.getElementById('myNext');
if( elem )
{
clickAction(elem);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.