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)
Вот так выглядит сайт (скопировано из запущенного самим приложением):
Мне нужно нажать на него, но он его даже найти не может

21 Авг 2019 в 06:27
231 +1
0
Ответы
1

Похоже, что в вашем случае проблема может быть связана с тем, что элемент загружается динамически после того, как страница уже была полностью загружена. В таких случаях рекомендуется использовать явное ожидание (explicit wait), чтобы дать браузеру достаточно времени для загрузки элемента.

Пример использования явного ожидания с помощью Selenium Python:

from selenium.webdriver.common.by import By
from 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), если это применимо, и переключитесь на нужный фрейм перед поиском элемента.

Надеюсь, это поможет решить вашу проблему!

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир