首页 > 解决方案 > 如何使用python在iframe中找到按钮的XPath?

问题描述

我在 iframe 中有以下 html 对象:

“提交”按钮的 html 代码

我需要找到它的 XPath 才能单击“提交”按钮,但找不到它。XPath 助手只显示“//iframe”。

到目前为止,我已经尝试过:

submit = driver.find_elements_by_xpath("//iframe[@id='btnSubmit']")
submit.click

标签: pythonseleniumxpath

解决方案


所有内容,在 a 内frameiframe不切换到 就无法访问iframe/frame。所以首先切换到frame内容:

driver.switch_to.frame(driver.find_element_by_name("frame_name"))

或者

driver.switch_to.frame(driver.find_element_by_xpath("//xpath/to/frame"))

然后你可以找到你的提交按钮并点击它:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='btnSubmit']"))).click()

比像这样切换到默认内容:

driver.switch_to.default_content()

注意:您必须添加一些导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

推荐阅读