Python Selenium Почему не может найти div? До этого находит спокойно элементы по id и class Но вот на этом моменте ошибка:elem=driver.find_element_by_id('730_2_8695061953')Traceback (most recent call last): File "main.py", line 30, in elem=driver.find_element_by_id('730_2_8695061953') File "/Users/kosyachniy/anaconda/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 289, in find_element_by_id return self.find_element(by=By.ID, value=id_) File "/Users/kosyachniy/anaconda/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 791, in find_element 'value': value})['value'] File "/Users/kosyachniy/anaconda/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute self.error_handler.check_response(response) File "/Users/kosyachniy/anaconda/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"730_2_8695061953"} (Session info: chrome=59.0.3071.115) (Driver info: chromedriver=2.31.488774 (7e15618d1bf16df8bf0ecf2914ed1964a387ba0b),platform=Mac OS X 10.12.6 x86_64) Вот так выглядит сайт (скопировано из запущенного самим приложением): Мне нужно нажать на него, но он его даже найти не может
Похоже, что в вашем случае проблема может быть связана с тем, что элемент загружается динамически после того, как страница уже была полностью загружена. В таких случаях рекомендуется использовать явное ожидание (explicit wait), чтобы дать браузеру достаточно времени для загрузки элемента.
Пример использования явного ожидания с помощью Selenium Python:
Этот код будет ждать до 10 секунд, пока элемент с id '730_2_8695061953' не станет доступным, и затем будет выполнять действие (например, клик) на этом элементе.
Если проблема не решится с использованием явного ожидания, попробуйте также убедиться, что элемент находится внутри фрейма (iframe), если это применимо, и переключитесь на нужный фрейм перед поиском элемента.
Похоже, что в вашем случае проблема может быть связана с тем, что элемент загружается динамически после того, как страница уже была полностью загружена. В таких случаях рекомендуется использовать явное ожидание (explicit wait), чтобы дать браузеру достаточно времени для загрузки элемента.
Пример использования явного ожидания с помощью Selenium Python:
from selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Явное ожидание в течение 10 секунд
wait = WebDriverWait(driver, 10)
elem = wait.until(EC.presence_of_element_located((By.ID, '730_2_8695061953')))
# Теперь можно взаимодействовать с элементом
elem.click()
Этот код будет ждать до 10 секунд, пока элемент с id '730_2_8695061953' не станет доступным, и затем будет выполнять действие (например, клик) на этом элементе.
Если проблема не решится с использованием явного ожидания, попробуйте также убедиться, что элемент находится внутри фрейма (iframe), если это применимо, и переключитесь на нужный фрейм перед поиском элемента.
Надеюсь, это поможет решить вашу проблему!