Pertanyaan Otomatisasi Chrome menggunakan ekstensi; mengklik tombol dan mengisi formulir


Setelah mencari di sekitar Stack Overflow untuk sementara waktu, dan semua pertanyaan terakhir yang berkaitan dengan topik ini, saya belum benar-benar dapat menemukan jawaban / pertanyaan yang sesuai yang memberikan contoh situasi yang serupa dengan saya. Saya pada dasarnya perlu ekstensi chrome (pada ikon klik) untuk mengklik objek tertentu / tombol pada halaman, setelah mengisi formulir tertentu yang relevan, misalnya tombol login setelah mengisi nama pengguna dan kotak kata sandi yang relevan, atau tombol pencarian mesin pencari (misalnya Google) setelah mengisi kolom pencarian.

Juga, (tidak secara langsung relevan) sebelum ekstensi mulai mengotomatisasi tindakan browser tertentu, itu akan membuka halaman yang ingin saya edit di halaman baru, dan menutup tab saat ini. Jika itu membantu, berikut adalah beberapa kode yang berhasil saya kumpulkan sejauh ini:

background.js

    chrome.browserAction.onClicked.addListener(function (tab) {
    chrome.tabs.create({
        url: "http://google.com"
    });

    chrome.tabs.getSelected(function (tab2) {
        chrome.tabs.remove(tab.id, function() { });
    });

});

Saya sangat baru untuk ekstensi chrome, dan jika seseorang dapat menyertakan contoh dengan penjelasan mereka, saya akan sangat berterima kasih! Banyak terima kasih sebelumnya! :)


4
2017-10-23 01:40


asal


Jawaban:


Saya pikir apa yang Anda cari adalah a skrip konten. Skrip konten disuntikkan ke setiap halaman yang ditentukan oleh file manifes ekstensi Anda.

Skrip konten memiliki akses ke DOM yang disuntikkan ke dalamnya, sehingga mereka dapat melakukan tindakan pada elemen DOM. Di bawah ini adalah contoh kutipan dari file manifest.json yang memuat jquery serta skrip konten:

manifest.json

{
  ...

  "content_scripts": [
    {
      "matches": ["http://www.target-page.com"],
      "scripts": ["https://code.jquery.com/jquery-1.11.2.js", "my-script.js"]
    }
  ]

  ...
  }

content.js

$(document).ready(function() {

   /* Get a reference to your form of interest. */
   var form = $('#form-id");
   /* ... Manipulate the form */

   /* Get a reference to your button of interest. */
   var button = $('#button-id');
   /* ... Manipulate the button (ie button.click())*/
 });

2
2018-01-05 03:48