Автоматический ввод в текущей вкладке Панель поиска - Chrome Расширения - PullRequest
0 голосов
/ 12 февраля 2020

Я только учусь JavaScript в первую очередь, чтобы автоматизировать поиск на определенном c веб-сайте и сравнить некоторые данные, полученные из этих поисков. Поэтому мне было интересно, можно ли сделать такую ​​вещь с помощью панели поиска на этом сайте с JavaScript в моем расширении chrome, которое я хочу создать.

Примечание. Пример панели поиска на веб-сайте будет выглядеть следующим образом: Панель поиска на YouTube

Редактировать: после гораздо большего исследования я обнаружил, что forum.submit может быть полезным, но я не слишком уверен.

РЕДАКТИРОВАТЬ 2:

extension_ui. html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>extension_ui</title>
</head>
<body>
    <button>Start</button>
    <script src="find_time_slots.js" charset="utf-8"></script>
</body>
</hmtl>

find_time_slots. js

document.addEventListener('DOMContentLoaded', function(){
    document.querySelector('button').addEventListener('click',onclick,false)

    function onclick(res){
        chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
          chrome.tabs.executeScript(
            res.tabNum,
            {code: 'document.getElementById("search").value = "overwatch";'}
          );
        })
    }

},false)

content. js

chrome.runtime.onMessage.addListener(function(request,sender,sendResponse){
    sendResponse({tabNum: sender.id})
});

Хотя я не получаю никаких ошибок, он не обновляет В строке поиска (на YouTube) к Ethier значение "overwatch" указано в качестве значения или отображается на странице YouTube.

1 Ответ

0 голосов
/ 12 февраля 2020

Вам нужно найти идентификатор панели поиска. В YouTube идентификатор: search;

В вашем всплывающем окне. js с использованием chrome.tabs.executeScript, и нужно вставить событие слушателя.

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
  chrome.tabs.executeScript(
    tabs[0].id,
    {code: 'document.getElementById("search").value = "' + /*you value*/ + '";'}
  );
});

Надеюсь, что это может помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...