|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||||||||
Selenium как найти элемент22.04.2020, 03:39. Показов 8026. Ответов 33
Метки нет (Все метки)
Здравствуйте, выбивает ошибку invalid selector: An invalid or illegal selector was specified
Вот блок кода в котором мне нужно выбрать первую предложенную строчку и кликнуть по ней. Казалось бы просто можно по id выбрать
0
|
|||||||||||
| 22.04.2020, 03:39 | |
|
Ответы с готовыми решениями:
33
[Selenium] Как найти элемент на странице с задержкой без ошибки? Selenium findelement Не могу найти элемент
|
|
|
|
| 26.04.2020, 15:45 | |
|
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 26.04.2020, 16:04 [ТС] | |
|
diadiavova,
Всё равно не выходит, в переменной doc_user сайт загружается, а вот найти значение не выходит. Я в этих выражениях еще не очень разбираюсь, с трудом составляю эти селекторы и xpatch, не научился еще.
0
|
|
|
|
|
| 26.04.2020, 16:46 | |
|
xellan24rus, насколько я помню, методу loadHTML нужно передавать HTML код документа. Если нужно передать адрес, по-моему надо использовать метод load. Ну и вообще надо посмотреть , что у тебя в документе, поскольку иногда с сервера приходит не тот документ который видно в окне браузера, а значительная его часть подгружается скриптами, так что нужно убедиться в том, что то что ты ищешь присутствует в загруженной тобой версии документа.
Добавлено через 30 минут xellan24rus, в имени класса у меня появилась лишняя буква A, с телефона вводил текст. Так что //div[@class = 'SKguc']/aИ кстати можно получить сразу узел атрибута вот так //div[@class = 'SKguc']/a/@href
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||||
| 26.04.2020, 16:50 [ТС] | |||||||
|
Сделал как вы написали, извлёк все данные из переменной, да там нету таких классов. И поиск по имени дал, не 18, а 8 результатов. Вот одна строчка. Кликните здесь для просмотра всего текста
Я её укоротил раза в три оставил, по username. Я думаю по таким параметрам xpath или по селекторам уже не выйдет спарсить имя? По ссылке в моём варианте нельзя получить данные.
0
|
|||||||
|
|
||
| 26.04.2020, 17:15 | ||
|
css - script[src $= '97f4c995ff98.js']+scriptxpath - //script[contains(@src, '97f4c995ff98.js')]/following-sibling::scriptНадеюсь не ошибся )) Ну, а содержимое скрипта уже можно и регулярками, хотя JSON можно и просто строковыми функциями вытащить, а потом уже ньютонсофтом. В принципе, если получить просто HTML текст документа, то по строке window._sharedData = скорей всего можно найти начало нужного кода, а дальше уже искать json, если нужен он, конечно.
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||||
| 26.04.2020, 17:49 [ТС] | |||||||
0
|
|||||||
|
19 / 14 / 6
Регистрация: 01.04.2020
Сообщений: 81
|
||||||
| 26.04.2020, 22:27 | ||||||
|
xellan24rus,
0
|
||||||
|
|
||
| 26.04.2020, 22:49 | ||
|
Добавлено через 1 минуту Semen Lobanov, было уже https://www.cyberforum.ru/post14475474.html
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||
| 27.04.2020, 07:10 [ТС] | ||
|
0
|
||
|
|
|
| 27.04.2020, 09:25 | |
Сообщение было отмечено xellan24rus как решение
Решение
xellan24rus, ну как бы файл это, конечно, хорошо, но написать, что нужно извлечь - тоже не помешало бы.
В проекте я извлекаю из страницы скрипт, начинающийся с window._sharedData = , удаляю из его кода все, кроме JSON, далее превращаю JSON в объект и демонстрирую, как из этого объекта извлекать данные.Я там использовал не то выражение, которое показывал здесь, но думаю, что и то тоже сработало бы, просто показал как можно найти элемент, по содержащемуся в нем тексту.
1
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 27.04.2020, 10:16 [ТС] | |
|
diadiavova, примерно понял, при всём диалоге узнал полезное. Буду дальше изучать как это всё работает)
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||||||||
| 27.04.2020, 10:43 [ТС] | |||||||||||
|
diadiavova, и ещё вопрос например мой блок кода для поиска такой
Сам код
И если классы указаны с не понятно как что с ними делать? Я стараюсь брать данные в инспекторе хрома или правильнее с исходного кода страницы? [SPOILER][HTML]<section class="zwlfE"><div class="nZSzR"><h2 class="_7UhW9 fKFbl yUEEX KV-D4 fDxYl ">sumkabum_nsk</h2><div class=" Igw0E IwRSH eGOV_ _4EzTm "><span class="BY3EC bqE32"><span class="vBF20 _1OSdk"><button class="_5f5mN jIbKX _6VtSN yZn4P ">Подписаться</button></span><span class="mLCHD _1OSdk"><button class="_5f5mN jIbKX KUBKM yZn4P "><div class="OfoBO"><div class="_5fEvj coreSpriteDropdownArrowWhite"></div></div></button></span></span></div><div class="AFWDX"><button class="wpO6b " type="button"><svg aria-label="Параметры" class="_8-yf5 " fill="#262626" height="24" viewBox="0 0 48 48" width="24"><circle clip-rule="evenodd" cx="8" cy="24" fill-rule="evenodd" r="4.5"></circle><circle clip-rule="evenodd" cx="24" cy="24" fill-rule="evenodd" r="4.5"></circle><circle clip-rule="evenodd" cx="40" cy="24" fill-rule="evenodd" r="4.5"></circle></svg></button></div></div><ul class="k9GMp "><li class="Y8-fY "><span class="-nal3 "><span class="g47SY ">77</span> публикаций</span></li><li class="Y8-fY "><a class="-nal3 " href="/sumkabum_nsk/followers/"><span class="g47SY " title="595">595</span> подписчиков</a></li><li class="Y8-fY "><a class="-nal3 " href="/sumkabum_nsk/following/"><span class="g47SY ">2 082</span> подписок</a></li></ul><div class="-vDIg"><h1 class="rhpdm">Сумки Нижнеудинск</h1><br><span>Лучшее лучшим ♥️<br>Натуральная и экокожа
0
|
|||||||||||
|
|
||||
| 27.04.2020, 11:05 | ||||
button[contains(@class, 'jIbKX')], либо можно поставить HtmlAgilityPack.CssSelectors и искать по селекторам, тогда можно указать любой из классов, например для предыдущего примера можно искать так button.jIbKX или даже так .jIbKX или можно несколько классов через точку указать. Но еще раз повторюсь, что скорей всего в том документе, что приходит с сервера всего этого нет, там в скриптах приходят данные, которые рендерятся уже на стороне клиента, так что придется искать то что тебе нужно в этих данных. Если там этого нет, то, возможно, какие-то данные подгружаются уже после загрузки страницы или содержатся в скриптах, приходящих отдельно. Надо искать. Если это сложно, то можно использовать какой-то контрол типа WebBrowser, только посовременнее и уже оттуда можно тянуть готовые данные, тогда для исследования и инспектор хрома вполне сгодится.
0
|
||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 27.04.2020, 11:27 [ТС] | |
|
diadiavova, Можно страницу страницу загружать через leafxnet с заголовками всеми, но опять же Если зайти в браузере на сайт и после нажать исходный код страницы и выполнить поиск по имени класса с инспектора, то таких классов в исходном коде не существует. Даже в примере файла что я отправлял, данные были загружены через leafxnet с заголовками и авторизованными куками, но я их удалил в этом файле. Имени класса что есть в инспекторе, я не находил в этом файле. Через ньютонсофт скорее всего лучше разбирать в этом случае. С того же HtmlAgilityPack классы не нахожу потому что их попрасту не существует. Ну конечно хотелось бы без классов информацию получать, буду изучать Ньютонсофт
0
|
|
| 27.04.2020, 11:27 | |
|
Помогаю со студенческими работами здесь
34
Selenium Driver. Нажатие на элемент Клик на определенный элемент Selenium Элемент найден, но выдает ошибку (Selenium)
Как найти элемент по NAME в XPATH Selenium Java? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности
Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано.
. . .
|
|
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
|
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива
Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
|
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так?
Да, всё верно. Я — искусственный интеллект.
Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
|
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает.
В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше.
Перед запуском проверяем. . .
|