Прежде всего, если подобные топи c произошли ранее, извините, но я не смог найти ни одной проблемы, подобной моей.
Я хотел бы создать простой сценарий, который вводится в электронное письмо веб-сайт, войдите в мою учетную запись и найдите количество непрочитанных сообщений.
Это часть с входом в систему
from selenium import webdriver
from time import sleep
class sMailBot():
def __init__(self):
self.driver = webdriver.Chrome()
def login(self):
self.driver.get('website.com')
sleep(2)
btn_login = self.driver.find_element_by_xpath('//*[@id="username"]')
btn_login.send_keys('my_username')
btn_password = self.driver.find_element_by_xpath('//*[@id="password"]')
btn_password.send_keys('my_password')
btn_logintoaccount = self.driver.find_element_by_xpath('//*[@id="button"]')
btn_logintoaccount.click()
sleep(5)
Это работает очень хорошо. После входа в мою учетную запись почты работают комментарии типа driver.title или driver.current_url .
Теперь я хотел бы удалить эту часть кода html:
<b>some_important_string_which_stores_the_amount_of_unread_mails</b>
Я пытался сделать это, используя его путь
driver.find_element_by_xpath('//*[@id="MS_act1"]/span)
Однако это не так Работа. Более того, я не могу найти другие элементы с этой стороны.
Я хотел бы подчеркнуть, что я ждал загрузки страницы более 10 секунд.
Произошла ошибка
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="MS_act1"]/span/b"}
(Session info: chrome=80.0.3987.87)
Как вы и просили, я добавляю немного окружающего HTML кода
<span style="float: right">
<b>some_important_string_which_stores_the_amount_of_unread_mails</b>
</span>