Кукловод не может щелкнуть div в gmail

#javascript #puppeteer

#javascript #кукловод

Вопрос:

Я пытаюсь щелкнуть 3 точки в gmail здесь: 1

А затем нажмите «пометить все как прочитанное»: 2

Я нажимаю на 3 точки нормально.

Однако я не могу щелкнуть пометить все как прочитанное.

Я могу выбрать его при проверке элемента с помощью: div[class="J-M aX0 aYO jQjAxd"] > div[class="SK AX"] > div[class="J-N"]:nth-child(1)

Однако я не могу щелкнуть его

Я пробовал:

  • Обычный. щелкните селектор
  • . затем сфокусируйтесь. щелкните селектор
  • наведя курсор мыши на селектор, затем щелкнув, где находится мышь
  • жесткое ожидание перед нажатием
  • разные селекторы
  • и т. д
               var selector = 'span[class="asa bjy"]'
              await cursor.move(selector)
              await cursor.click()
              await page.waitForNavigation({ waitUntil: "networkidle2" })`
     

Эта предыдущая часть в порядке (использует курсор-призрак), она нажимает на 3 точки. Но следующее не работает

             await page.waitFor(1500)

            var selector = 'div[class="J-M aX0 aYO jQjAxd"] > div[class="SK AX"] > div[class="J-N"]:nth-child(1)'
            await page.waitForSelector(selector);
            await page.click(selector);
 

Приветствуются любые советы. Пожалуйста, дайте мне знать, если мне нужно добавить больше деталей.

Комментарии:

1. Вы могли бы попробовать этот селектор: #:3v > div

2. Эти рандомизированные селекторы классов и идентификаторов — плохая идея для таргетинга. Вместо этого поищите другие свойства для таргетинга на нужный контейнер. Наконец, метод click не работает с divs; попробуйте создать событие щелчка мыши и отправить его в целевой div.

Ответ №1:

не уверен, что вы пытаетесь сделать, но чтение / запись электронных писем через puppeteer намного медленнее, чем при использовании общедоступного API Gmail: https://developers.google.com/gmail/api . Использование API гарантирует, что ваш код будет выполняться стабильно и не будет прерываться в следующий раз, когда Google обновит какой-либо другой элемент пользовательского интерфейса в своем HTML.