Невозможно взаимодействовать с элементами внутри iframe на динамическом сайте.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно взаимодействовать с элементами внутри iframe на динамическом сайте.

Сообщение Anonymous »

Я пытаюсь автоматизировать динамический сайт: https://erp.pgu.ac.ir/Dashboard. Этот сайт содержит iframe и динамические элементы (сгенерированные JavaScript), с которыми мне нужно взаимодействовать. Мой целевой элемент находится внутри iframe, и я переключаюсь на iframe, прежде чем пытаться взаимодействовать с элементом. Однако я продолжаю сталкиваться с исключением NoSuchElementException.
Вот ошибка:

Код: Выделить всё

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".first-part-1 .mat-grid-tile:nth-child(2) span"}

Вот структура HTML, с которой я работаю: Я использовал Selenium IDE для записи шагов и сгенерировал следующий код Python:

Код: Выделить всё

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

class TestTest():
def setup_method(self, method):
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
self.driver = webdriver.Chrome(options=options)

def teardown_method(self, method):
self.driver.quit()

def test_test(self):
self.driver.get("https://erp.pgu.ac.ir/Dashboard")
time.sleep(10)
self.driver.set_window_size(1552, 832)
time.sleep(10)

# Switch to iframe
self.driver.switch_to.frame(1)
time.sleep(10)

# Attempt to click the element inside iframe
self.driver.find_element(By.CSS_SELECTOR, ".first-part-1 .mat-grid-tile:nth-child(2) span").click()

testClass = TestTest()
testClass.setup_method("")
testClass.test_test()
testClass.teardown_method("")

Я убедился, что переключаюсь на iframe, используя switch_to.frame(1).
Я пробовал дождаться загрузки iframe, добавив time.sleep(10 ).
Я использую правильный селектор CSS, который работает при проверке страницы вручную.
Несмотря на это, я все равно получаю ошибку NoSuchElementException. Я ожидал, что Selenium найдет и щелкнет элемент, но, похоже, он не может его найти.

Подробнее здесь: https://stackoverflow.com/questions/790 ... namic-site
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение