Доступ к объектам DOM с несколькими идентификаторами (расширение chrome) - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь создать свое первое расширение chrome и хочу получить доступ к кнопке «Написать» в Gmail через мой контент. js. Я обнаружил div, который хочу использовать, проверив страницу, но не уверен, как получить к нему доступ с помощью Javascript, поскольку он действительно глубоко вложен и не имеет атрибута ID. Я пробовал использовать document.querySelectorAll (". TI.J-J5-Ji.TI-KE.L3") и document.getElementsByClassName ("TI J-J5-Ji TI-KE L3"), но возвращаемый массив всегда был пуст . Что я делаю не так / как лучше получить доступ к этому элементу?

Это HTML для элемента, который я пытаюсь получить здесь .

Вероятно, было бы легче увидеть код, о котором я говорю, войдя в Gmail (если он у вас есть, щелкнув правой кнопкой мыши кнопку «Написать» и выбрав «Проверить»).

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Я попытался ввести команду document.getElementsByClassName("T-I J-J5-Ji T-I-KE L3") в консоли, и она вернула массив, содержащий элемент, который вы ищете.

Я бы сказал, что ваш скрипт не имеет доступа ко всему документу, поэтому что вы не можете изменять все, что хотите, но я недостаточно знаю о расширении Chrome, чтобы быть уверенным в этом.

Удачи!

0 голосов
/ 05 мая 2020

Попробуйте сопоставить document.querySelector('[gh="cm"]');.

Я не уверен, что означает атрибут gh, но его значение cm представляет кнопку ComposeMessage.

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