Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Selenium - nevidí elementy dotáhnuté ajaxem

Ahoj,

mám jednu stránku, kde se formulář načítá ajaxem asi tak 10 vteřin a během toho selenium drží session, takže se nemůže v průběhu dít nic jiného (to je dobře) a po úplném načtení formuláře se teprve pokračuje v mém kódu.
Problém je, že když chci ten formulář vyplnit, tak mi to hází chybu "No such element: unable to locate element ...", i když tam ten element už je ve stránce načtený.

Zkusil jsem v cyklu třeba minutu volat:

driver.find_element_by_id(element_id).send_keys('nějaká hodnota')

a po každém neúspěšném pokusu čekat

time.sleep(1)

,
zkoušel jsem i

driver.implicitly_wait(30)

,

WebDriverWait(driver, 30).until(EC.presence_of_element_located(('id', element_id)))

a i jsem se pokusil pole vyplnit spuštěním JS na stránce, ale bez úspěchu, pořád to hází chybu, že element se nepodařilo najít.

Kde je problém?

Díky.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Kde jsi přišel na to: driver.find_element_by_id(element_id) Nemělo by to spíš být: driver.findEle…
Wikan 26.09.2020 12:56
Wikan
No, možná bych měl upřesnit i jazyk, ve které to píšu. Python. Toto je obecná metoda, ale existuje i… nový
polo1 26.09.2020 13:04
polo1
Není na té stránce iframe? nový
Wikan 26.09.2020 13:13
Wikan
Ano, ten element je hluboko v iframu. nový
polo1 26.09.2020 13:44
polo1
https://www.selenium.dev/documentation/en/webdriver/browser_manipulation/ nový
Wikan 26.09.2020 13:50
Wikan
Ano, toto vyřešilo můj problém: driver.switch_to.frame(0) Díky moc. :) nový
polo1 26.09.2020 15:12
polo1
selenium je mrtve, pouzivej puppeteer a nebudes mit takove problemy poslední
Propiska 03.10.2020 22:30
Propiska

Zpět do poradny Odpovědět na původní otázku Nahoru