簡體   English   中英

如何單擊 iframe 中的內容?

[英]How can I click on content within an iframe?

我正在嘗試使用 Selenium 單擊 web 頁面上的按鈕。 我使用這段代碼:

driver.find_element(By.Xpath, '//*[@id="payments"]').click()

通常這是可行的,但似乎無法單擊此 HTML 中顯示的按鈕:

<iframe src="/ProviderPortal" id="main-iframe" frameborder="0" style="min-height: 600px; height: 600px;">
<a href="/ProviderPortal/Payment" id="payments">Payments</a>
</iframe>

當我運行代碼時,什么都沒有發生 - 它不會繼續到下一個 URL。 成功單擊的其他按鈕不在 iframe 內。 這是問題的原因嗎? 我怎樣才能讓它成功點擊?

為了訪問 iframe 中的 web 元素,您需要先切換到 iframe。 如下所示:

driver.switch_to.frame(driver.find_element_by_id('main-iframe'))
driver.find_element(By.Xpath, '//*[@id="payments"]').click()

完成 iframe 內部的工作后,您必須使用以下命令從 iframe 切換到默認內容

driver.switch_to.default_content()

首先,您需要通過以下方式切換到 iframe:drive.switch_to.frame(1)

然后切換回主要內容:

driver.switch_to.default_content()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM