Использование Selenium, чтобы не работать внутренний текст - PullRequest
1 голос
/ 08 марта 2020

У меня есть следующий код, который должен go через несколько веб-страниц и получать адреса электронной почты.

for value in data:
        driver.get(value)
        try:
            Email = driver.find_element_by_xpath("//*[@id='email']")
            print(colored(Email.get_attribute('innerHTML'),'green'))    
        except Exception:
            print(colored("No Email found for "+ value, 'red'))

Это html:

<li id="email">
<span class="label">Email</span>
myaddress@Email.com
</li>

Проблема в том, что я не смог заставить код печатать только myaddress@Email.com. <span class="label">Email</span>myaddress@Email.com

Любая помощь приветствуется!

1 Ответ

1 голос
/ 08 марта 2020

Элемент также содержит текст дочерних элементов, вы можете удалить текст span

email = driver.find_element_by_id('email')
label = email.find_element_by_class_name('label')
text = email.text.replace(label.text, '').strip()
print(colored(text,'green'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...