Селен Python текст показывает в pdb, но пустой в print () - PullRequest
0 голосов
/ 04 июля 2019

Я получаю текст внутри определенного элемента, используя селен. Иногда печатает тексты, а иногда пустую строку. Но он всегда показывает текст в pdb.

Я пытался .text, .get_attribute('innerText'), .get_attribute('textContent') используя get_elements_by_class_name, get_element_by_css_selector и xpath, а также Тот же результат. Всегда идеально в pdb, но в print()

options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome('chromedriver', options=options)
driver.implicitly_wait(4)
driver.get('some url')

no = driver.find_element_by_css_selector('span.hashtag + span')
span = driver.find_elements_by_class_name('live-label-draw')[0].find_element_by_css_selector('span:last-child')
parent = driver.find_elements_by_class_name('live-label-draw')[0]

print(parent.text)
print('-------by class name', span.text, span.get_attribute('innerText'), span.get_attribute('textContent'))

print('-------by css', no.tag_name, no.get_attribute('textContent'), no.get_attribute('innerText'), no.text)

import pdb; pdb.set_trace()

- Insdie pdb -
no.text, no.get_attribute ('innerText'), span.text, span.get_attribute ('innrText') все отпечатки 31907040069
Также parent.text печатает # 31907040069

<span class="live-label-draw">
  <span class="hashtag">#</span>
  <span>31907040069</span>  <--- trying to get '31907040069'
</span>

ожидается:
# 31907040069
------ по имени класса 31907040069 31907040069 31907040069
------ по css 31907040069 31907040069 31907040069

фактические результаты:
#
------ по классу
------ по css

...