Я пытаюсь захватить innerHTML, если при выполнении задачи в chrome появляется всплывающее окно, а затем на основе innerHTML либо щелкните «ОК» и сохраните, либо выйдите. Проблема, с которой я сталкиваюсь, заключается в том, что перед возможным всплывающим окном я нахожусь в iframe и мне нужно переключиться обратно на основной корпус. Я использую селен:
main body (possible pop_up *i think*)
iframe (I am here)
Ниже приведен некоторый код, который я вычеркнул, вычеркнув ненужные строки:
Dim sel As Selenium.ChromeDriver
Dim pop as Object
Set sel = New Selenium.ChromeDriver
sel.Get URL
' Switch to iframe
Set iframe = sel.FindElementByTag("iframe", 10000)
sel.SwitchToFrame iframe, 5000
code...
' Where the popups sometimes show up
On Error Resume Next
sel.SwitchToDefaultContent
Set pop = sel.FindElementsByClass("popupText", 2000) *Error Could not locate class=popupText
On error goto 0
Я получаю эту ошибку, если я выключаюошибка возобновить, даже если есть всплывающие окна. Ниже приведен HTML-код:
<span class="popupText">
<br />
*Text*
<br />
<br />
*Text*
</span>
Я пробовал несколько других вещей: не использовать switchtodefaultcontent и использовать switchtoparenframe, и, похоже, ничего не работает.
Существует также функция .SwitchToAlert. в селене, который также не работает ...
strAlert = sel.SwitchToAlert.Text 'Get nothing
sel.SwitchToAlert.Accept 'Does not do anything