Selenium VBA 使用 JS 路径将文本发送到 Web 元素
Selenium VBA using JS path to send text to web element
使用 Selenium VBA 使用“JS PATH”的代码。
我只有这个 HTML 有问题,因为它的结构使输入文本变得更加困难。
The HTML:
<textarea class="messenger-composer" placeholder="Say something…" style="height: 34px;">THE TEXT NEEDS TO GO HERE </textarea>
''Code1 with querySelector returns error ")" is missing:
Dim Textw As String
cScript = "document.querySelector('textarea[placeholder='Say something…']').innerHTML = '" & Textw & "'"
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 > div.notifications-footer.notifications-footer--collapsed > div.messenger > div.FullscreenOverlay-content > div > div > div > div > div > div > div.messenger-composer-wrapper ').innerHTML ='" & Textw & "'"
bot.ExecuteScript cScript
Dim Textw As String
cScript = "document.getElementsByClassName('messenger-composer')[0].innerHTML = '" & Textw & "'"
bot.ExecuteScript cScript
''send key is disabled, this workaround makes it enabled.
bot.SendKeys "a"
bot.SendKeys bot.Keys.Backspace
使用 Selenium VBA 使用“JS PATH”的代码。
我只有这个 HTML 有问题,因为它的结构使输入文本变得更加困难。
The HTML:
<textarea class="messenger-composer" placeholder="Say something…" style="height: 34px;">THE TEXT NEEDS TO GO HERE </textarea>
''Code1 with querySelector returns error ")" is missing:
Dim Textw As String
cScript = "document.querySelector('textarea[placeholder='Say something…']').innerHTML = '" & Textw & "'"
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 > div.notifications-footer.notifications-footer--collapsed > div.messenger > div.FullscreenOverlay-content > div > div > div > div > div > div > div.messenger-composer-wrapper ').innerHTML ='" & Textw & "'"
bot.ExecuteScript cScript
Dim Textw As String
cScript = "document.getElementsByClassName('messenger-composer')[0].innerHTML = '" & Textw & "'"
bot.ExecuteScript cScript
''send key is disabled, this workaround makes it enabled.
bot.SendKeys "a"
bot.SendKeys bot.Keys.Backspace