首页 > 解决方案 > NoSuchElementException:消息:无法找到元素:[id="faturaspnl.aba"]

问题描述

我对这段代码有一些麻烦。我正在学习硒,我尝试通过 html 的 id 获取元素,但控制台显示:NoSuchElementException:消息:无法找到元素:[id="faturaspnl.aba"]。我该如何解决这个错误?

我的代码:

from selenium import webdriver

from time import sleep

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

navegador = webdriver.Firefox()

link = "https://teste.com"

navegador.get(link)

user = "****"

password = "*****"

sleep(1)

campo_user = navegador.find_element_by_id('login-input-usuario-id').send_keys(user)

campo_password = navegador.find_element_by_name('senha').send_keys(password)

button_enter = navegador.find_element_by_id('login-button-id').click()

sleep(5)

button_consultas = navegador.find_element_by_id("menu-consultas").click()

sleep(1)

button_relatorio = navegador.find_element_by_id("faturaspnl.aba").click()

如果需要,我导入了 html 代码

html

我来自控制台的错误代码,帮助我:c

NoSuchElementException                    Traceback (most recent call last)
<ipython-input-17-85417135cfdf> in <module>
     33 sleep(1)
     34 
---> 35 button_relatorio = navegador.find_element_by_id("faturaspnl.aba").click()
     36 
     37 #button_perfil = navegador.find_element_by_id('appbar-menu').click()

~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_id(self, id_)
    358             element = driver.find_element_by_id('foo')
    359         """
--> 360         return self.find_element(by=By.ID, value=id_)
    361 
    362     def find_elements_by_id(self, id_):

~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
    974                 by = By.CSS_SELECTOR
    975                 value = '[name="%s"]' % value
--> 976         return self.execute(Command.FIND_ELEMENT, {
    977             'using': by,
    978             'value': value})['value']

~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None))

~\anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):

NoSuchElementException: Message: Unable to locate element: [id="faturaspnl.aba"]

标签: pythonselenium

解决方案


推荐阅读