簡體   English   中英

查找圖像鏈接並單擊JavaScript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM