Перейти к содержимому

Vitaliy_S

Регистрация: 18 фев 2020
Offline Активность: 28 июл 2020 08:06
-----

Мои сообщения

В теме: Selenium не находит элементы

05 марта 2020 - 09:57

Решение найдено!

 

Код body помещён в iframe:

<iframe
<body
...
</body>
</iframe>

Для прочтения кода во фрейме применил функцию driver.switch_to.frame()

 

Искомые элементы найдены, всех благодарю за участие в поиске решения :smile:


В теме: Selenium не находит элементы

04 марта 2020 - 10:52

 

По этой причине Selenium их не находит, такое возможно?

Скажем так, это не исключено.

 

Благодарю за подсказку, изучу вопрос в этом направлении


В теме: Selenium не находит элементы

04 марта 2020 - 09:53

 

В этом и вопрос, почему при использовании функции "page_source" я не вижу этих элементов (страница загружена полностью)?

page_source != DOM

Эти элементы подгружаются джаваскриптом позже, так что в исходном коде страницы их нет.

 

По этой причине Selenium их не находит, такое возможно?


В теме: Selenium не находит элементы

04 марта 2020 - 08:30

используйте девтулз для генерации selector или xpath для тех элементов которые вам нужны а не page_source

Сергей, или я не понимаю что вы хотите мне донести, или вы не поняли мой вопрос.
 
 
1. При поиске элементов я использовал: 
  • find_element_by_xpath
  • find_element_by_css_selector
  • find_element_by_class_name
На этапе поиска "page_source" не участвует, его в коде нет. Selenium элемент не находит, страница загружается полностью, в Chrome DevTools элемент есть, размер окна максимальный, driver.implicitly_wait(60)
 
Строка поиска элемента имеет вид:
balance = driver.find_element_by_xpath("//div[@class='b3-balance-card b3id-plp-balance-card']//div[@class='b3-balance-card-headline']").text
 
2. Вывожу код с помощью "page_source". В этом коде нет блока в котором присутствуют нужные мне элементы.
 
В этом и вопрос, почему при использовании функции "page_source" я не вижу этих элементов (страница загружена полностью)?

В теме: Selenium не находит элементы

28 февраля 2020 - 07:04

используйте

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector
  •  

https://selenium-pyt...g-elements.html

 

забудьте про getPageSource 

Конечно я использую данные методы. Искал по:

  • find_element_by_xpath
  • find_element_by_css_selector
  • find_element_by_class_name

driver.page_source - мне нужен был для понятия по какому коду ищет Selenium

Код полученный с помощью driver.page_source отличается (не хватает блоков в которых присутствуют необходимые элементы) от кода в ChromeDriver, при этом страница загружена полностью со всеми элементами