如何使用python在iframe中查找按钮的XPath?

时间:2018-07-09 10:50:56

标签: python selenium xpath

我在iframe中具有以下html对象:

html code for 'SUBMIT' button

我需要找到它的XPath才能单击“提交”按钮,但是找不到它。 XPath帮助程序仅显示“ // iframe”。

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

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

1 个答案:

答案 0 :(得分:1)

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