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

Публикации Vitaliy_S

6 публикаций создано Vitaliy_S (учитываются публикации только с 28 апреля 2023)


#175796 Selenium не находит элементы

Отправлено автор: Vitaliy_S 05 марта 2020 - 09:57 в Selenium - Functional Testing

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

 

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

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

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

 

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




#175764 Selenium не находит элементы

Отправлено автор: Vitaliy_S 04 марта 2020 - 10:52 в Selenium - Functional Testing

 

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

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

 

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




#175762 Selenium не находит элементы

Отправлено автор: Vitaliy_S 04 марта 2020 - 09:53 в Selenium - Functional Testing

 

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

page_source != DOM

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

 

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




#175759 Selenium не находит элементы

Отправлено автор: Vitaliy_S 04 марта 2020 - 08:30 в Selenium - Functional Testing

используйте девтулз для генерации 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" я не вижу этих элементов (страница загружена полностью)?



#175709 Selenium не находит элементы

Отправлено автор: Vitaliy_S 28 февраля 2020 - 07:04 в Selenium - Functional Testing

используйте

  • 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, при этом страница загружена полностью со всеми элементами




#175687 Selenium не находит элементы

Отправлено автор: Vitaliy_S 27 февраля 2020 - 09:05 в Selenium - Functional Testing

Добрый день!

 

Настраиваю автоматизацию в одном из сервисов Google (AdWords).

Страница загружается полностью (окно развёрнутое), элементы находятся в DOM Inspector - Selenium их не находит.

Вывожу код через функцию

driver.page_source 
from selenium import webdriver
...
driver.get('https://ads.google.com/aw/...')
driver.implicitly_wait(60)
print(driver.page_source)

код выводится урезанный, необходимых элементов нет. Пробовал через Chrome и Firefox.

 

Подскажите в каком направлении искать решение? Направьте на путь истинный)

 

Python 3.8

Selenium 3.141.0

ChromeDriver 80.0.3987.106

geckodriver-v0.26.0