[英]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.