在 iframe 中查找 HTML 元素并与之交互可能会给 Selenium 带来挑战。本文深入研究了一个特定实例,其中标准 select_frame() 方法被证明是不可靠的。
相关 HTML 结构包含一个 ID 为“upload_file_frame”的 iframe。最初的 Python 代码尝试使用以下命令定位此 iframe:
if sel.select_frame("css=#upload_file_frame"): break
但是,此方法始终无法可靠地选择 iframe。
使用以下命令找到了更强大的解决方案方法:
切换到 iframe: 使用WebDriver 对象的 switch_to.frame() 方法:
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
定位 iframe 中的元素并与之交互: 使用 XPath 或其他定位器查找和操作iframe 中的元素。例如,要将文本发送到输入字段:
elem = driver.find_element_by_xpath("/html/body/p") elem.send_keys("Lorem Ipsum")
切换回默认内容:与 iframe 交互后,切换回“默认内容”使用 switch_to.default_content()方法:
driver.switch_to.default_content()
使用此修改后的方法,可以成功定位 iframe 并可靠地操作其中的元素。
以上是如何使用 Python 在 Selenium 中可靠地选择 Iframe?的详细内容。更多信息请关注PHP中文网其他相关文章!