Здравствуйте. Есть страницы такого вида: Страница
Мне нужно достать текст из блока iframe
Пробовал всякие селекторы копировать в консоли хрома но то что работает в хроме почему то не работает в моем коде.
document.querySelector('#cardContainer > div.resultCard.pre-wrap.search-selection-outer > div > div > div').innerText
мой код
text = await browser.GetMainFrame().EvaluateScriptAsync("document.querySelector('body').innerText");
Как можно правильно достать только текст без всяких лишних элементов??
Спасибо.
AlexP
(Alex P.)
11.Февраль.2021 07:47:30
#2
WorldMaster:
то что работает в хроме
У меня и в Хроме это пустую строку возвращает. С фреймами не так просто.
Так вроде бы работает
window.frames[0].document.body.innerText
А вот еще в тему.
Иногда появляется запрос капчи
В консоли я могу получить его как
document.querySelector('#modalWindow_capchaDialog')
Но опять же в коде это значение всегда нулл выдает. Как быть??
AlexP
(Alex P.)
11.Февраль.2021 09:33:42
#5
А где оно?
Если внутри фрейма, то видимо нужен этот document
или может вместо
WorldMaster:
GetMainFrame()
есть что-то про фреймы.
Да вроде нету фреймов.
А GetMainFrame() достает вроде ккак основное окно
AlexP
(Alex P.)
11.Февраль.2021 10:17:52
#7
Может быть нужен return
.
Или с функцией как тут .
(function() {
return 42;
})()
AlexP
(Alex P.)
11.Февраль.2021 11:20:09
#9
Ну может просто EvaluateScriptAsync("42")
не считается результатом в EvaluateScriptAsync
?
Или может оно ошибку вернуло? Там есть поле для этого. JavascriptResponse Class
А 42 то откуда??
Я через асинк получаю вот такой запрос document.querySelector(’#modalWindow_capchaDialog ’)
Должен объект быть а прилетает нулл. А в хроме в консоли нормально вижу объект
AlexP
(Alex P.)
11.Февраль.2021 11:29:53
#11
WorldMaster:
А 42 то откуда?
Пример простого выражения для проверки работы результата в EvaluateScriptAsync
.
А… да не… сам эвалуатасинк работает … у меня же все запросы через него идут. на капче только не хочет. Мне по сути то только надо определить что эта капча вылезла. Там перезагрузка страницы нормально исправляет капчу
AlexP
(Alex P.)
11.Февраль.2021 11:33:21
#13
Так а в .Message
нет ошибок?
AlexP
(Alex P.)
11.Февраль.2021 12:09:56
#15
А document.querySelector('body')
работает?
Может слишком рано вызывается?
так тут цикл с ожиданием… странная капча. она врде как только визуально загораживает вид. А на заднем плане вроде бы код достуен … раз через раз.
не пойму какими она блоками и где висит… пытался тут в консоле как то отключить ее или закрыть … тоже безуспешно