Saya mencoba untuk beralih ke iframe lain dengan ID: "ifrBetslipHolder" ada dua iframe dengan ID yang sama persis dengan src yang berbeda

Ketika saya beralih ke iframe, saya selalu beralih ke yang pertama

Jika saya melakukan find_elements_by_id("ifBetslipHolder"), ia hanya mengembalikan satu item

</span><span class="cIframeHolder" style="width: 355px; height: 433px;"><iframe scrolling="no" allowfullscreen="" class="cIframe" id="ifrBetslipHolder" name="ifrBetslipHolder" src="/fe/manager/blank.htm?bust=0.46149823458289685" style="width: 357px; height: 433px;" frameborder="no"></iframe><div class="winDragSurface" id="drag_winMan_19"></div></span></span><span class="winFrame" id="winMan_20" style="left: 550px; top: 150px; width: 369px; height: 472px; z-index: 57; display: block; visibility: visible;" closemode="1"><div class="winTrans" id="winBack_winMan_20" style=""></div><span class="winHeadbar" style="height: 30px;" id="winHead_0_winMan_20"><span class="winTitles"><span><span class="winTitleActive" panelid="winMan_20" id="winTitle_0_winMan_20">Ticket</span></span>
        </span><span class="winControl" id="winControl_winMan_20"><span class="winConCls" id="winCls_winMan_20" winid="winMan_20" headerbtnid="undefined"></span><span></span></span>
        </span><span class="cIframeHolder" style="width: 355px; height: 433px;"><iframe scrolling="no" allowfullscreen="" class="cIframe" id="ifrBetslipHolder" name="ifrBetslipHolder" src="/fe/manager/blank.htm?bust=0.4631218513461094" style="width: 357px; height: 433px;" frameborder="no"></iframe><div class="winDragSurface" id="drag_winMan_20"></div></span></span>

Berharap dapat beralih ke iframe kedua dengan id "ifrBetslipHolder"

-1
anonymous 4 Juni 2019, 19:52

2 jawaban

Jawaban Terbaik

Coba logika di bawah ini.

driver.switch_to.frame(driver.find_element_by_xpath("(//iframe[@id='ifrBetslipHolder'])[2]"))
1
supputuri 4 Juni 2019, 16:58

ID di halaman HTML harus selalu unik. Namun, banyak browser dan driver mendukung pemilihan ID duplikat. Anda dapat menggunakan metode lain seperti find_element_by_css_selector('#ifrBetslipHolder')[1].

0
z11i 4 Juni 2019, 17:01