Selenium VBA использует JS-путь для отправки текста в веб-элемент

#javascript #vba #selenium #queryselector

Вопрос:

Использование кода Selenium VBA с использованием «ПУТИ JS».

У меня проблема только с этим конкретным HTML, потому что он структурирован таким образом, что затрудняет ввод текста.

 The HTML: lt;textarea class="messenger-composer" placeholder="Say something…" style="height: 34px;"gt;THE TEXT NEEDS TO GO HERE lt;/textareagt;   ''Code1 with querySelector returns error ")" is missing:  Dim Textw As String  cScript = "document.querySelector('textarea[placeholder='Say something…']').innerHTML = '" amp; Textw amp; "'"  bot.ExecuteScript cScript    '' Code2 with querySelector pastes the text in the wrong location making the HTML page corrupt.  Dim Textw As String  cScript = "document.querySelector('#main_content gt; div.notifications-footer.notifications-footer--collapsed gt; div.messenger gt; div.FullscreenOverlay-content gt; div gt; div gt; div gt; div gt; div gt; div gt; div.messenger-composer-wrapper ').innerHTML ='" amp; Textw amp; "'"  bot.ExecuteScript cScript  

введите описание изображения здесь

введите описание изображения здесь

Ответ №1:

 Dim Textw As String  cScript = "document.getElementsByClassName('messenger-composer')[0].innerHTML = '" amp; Textw amp; "'"  bot.ExecuteScript cScript ''send key is disabled, this workaround makes it enabled.  bot.SendKeys "a"  bot.SendKeys bot.Keys.Backspace