簡體   English   中英

檢索沒有名稱或ID的元素

[英]Retrieving element with no name or id

我正在嘗試編寫一些代碼來完成一些非常簡單的事情。 我以前從未使用過PayPal按鈕,這引起了一些麻煩。

我之前可以使用document.getElementById或document.getElementsByName()模擬一次按鈕單擊,但是,我上面試圖提交的表單沒有名稱或ID,所以我不知道如何引用在我的代碼中。

我正在嘗試使用Javascript編寫一個簡短的chrome擴展程序,該擴展程序將在頁面上找到貝寶表單/按鈕(我不擁有或無法控制),然后提交它而無需點擊它。 任何指導/鏈接將不勝感激。

看起來您的按鈕有一個名稱,因此您可以使用.getElementsByName()

var btn = document.getElementsByname('submit')[0]

如果您有權使用jQuery,或者可以將jQuery添加到您的項目中,那么

var btn = jQuery('input[name="submit"]')

使用jQuery會更容易,但是使用本機js,您可以執行以下操作:

function getPaypalForms()
{
  var matchingElements = [];
  var allForms = document.getElementsByTagName('form');
  for (var i = 0; i < allForms.length; i++)
  {
    if (allForms[i].getAttribute('action') == 'https://www.paypal.com/cgi-bin/webscr')
    {
      // Element exists with attribute. Add to array.
      matchingElements.push(allElements[i]);
    }
  }
  return matchingElements;
}

您可以通過多種方法來編輯此功能,以更好地滿足您的目的。 您可以對其進行編輯以僅從這些表單中收集提交按鈕,或對其進行重構以接受與attr和value匹配的字符串。 但是,就像我說的那樣,使用jquery會容易得多:

$('form[action="https://www.paypal.com/cgi-bin/webscr"]');

根據您的更新,首先:不要這樣做,除非您試圖用錢騙人。 在這種情況下,請勿執行此操作=)(我不是律師,但我很確定貝寶可以繼續前進“好吧,您沒有單擊按鈕,而是對其進行了自動化。現在有人在您的網站上花費了您500美元不想。強硬”)。 也就是說:document.getElementsByTagName(“ form”),然后對getAttribute(“ action”)進行過濾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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