, 在不切换到各自的情况下,不可能与iframe
直通内的任何物体相互作用。iframe
加载页面后, 默认情况下,焦点会停留在上 。在 包含了其他 和 。因此,当我们需要与WebElement
iframe中的a进行互动时,我们必须iframe
通过以下一种方法切换到相应的方法:
我们可以通过3种方式切换到帧。
:
例:
driver.switch_to.frame("iframe_name")
:
例:
driver.switch_to.frame("iframe_id")
:
假设页面中有10个框架,我们可以使用索引切换到iframe。
例:
driver.switch_to.frame(0)
driver.switch_to.frame(1)
:
我们可以使用 或切换回主机
例:
driver.switch_to.default_content()
driver.switch_to.parent_frame()
切换帧的更好方法将是诱使 预期帧的可用性 设置 为:
通过 :
webdriverwait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(By.ID,"id_of_iframe"))
通过 :
webdriverwait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(By.NAME,"name_of_iframe"))
通过 :
webdriverwait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(By.XPATH,"xpath_of_iframe"))
通过 :
webdriverwait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(By.CSS_SELECTOR,"css_of_iframe"))