Saya cuba memilih elemen yang berada dalam iframe dan mungkin berada dalam iframe lain.
Adakah mungkin untuk memilih elemen dalam beberapa iframe (kanak-kanak) dalam (python) selenium tanpa memilih iframe terlebih dahulu? Adakah terdapat cara untuk "gelung" melalui setiap iframe dan semak di mana elemen saya boleh ditemui...?
Bagaimana untuk melakukan ini apabila elemen, kandungan html dan iframe mungkin baru dimuatkan...?
Menulis pencari rekursif anda sendiri sepatutnya mudah. Maaf, saya tidak tahu python, tetapi dalam Java ia akan kelihatan seperti ini:
Tidak, tidak boleh lulus Selenium, tidak perlu bertukar kepada
iframe
yang sepadan.Sebab:
Apabila memuatkan halaman, tumpuan Selenium kekal pada tetingkap atas secara lalai. tetingkap atas mengandungi<iframes> 和框架集。因此,当我们需要与 iframe 内的 WebElement 进行交互时,我们必须通过以下方法之一切换到相应的
<iframes>
<iframe>
dan frameset yang lain. Jadi apabila kita perlu berinteraksi denganWebElement
di dalam iframe, kita perlu bertukar kepada
<iframe>
yang sepadan melalui salah satu kaedah berikut:
Kaedah penukaran bingkai:
Kita boleh bertukar kepada bingkai dalam 3 cara.Dengan nama bingkai
:Nama Harta iframe yang melaluinya kita boleh beralih kepadanya.
Contoh:Atribut
IDbagi iframe, yang melaluinya kita boleh beralih kepadanya.
Contoh:Indeks mengikut bingkai
:Andaikan halaman tersebut mempunyai 10 bingkai, kita boleh bertukar kepada iframe melalui indeks.
Contoh:default_content()
或parent_frame()
Tukar kembali ke hos:Kita boleh menggunakan
default_content()
atau
untuk bertukar kembali ke bingkai utamaparent_frame()
Contoh:
Cara yang lebih baik untuk menukar bingkai:expected_conditions
设置为frame_to_be_available_and_switch_to_it
来诱导WebDriverWait
WebDriverWait dengan menetapkan keadaan_jangka
kepadaMelalui
Framework CSS:-
Rujukan🎜 🎜Anda boleh mendapatkan perbincangan terperinci berkaitan di: 🎜 🎜 🎜🎜Cara memproses #dokumen di bawah iframe🎜🎜 🎜