我正在尝试使用 Xpath 在 Selenium 中切换帧,但到目前为止没有任何成功



我正在尝试使用 Xpath 而不是使用帧的名称在 Selenium 中切换帧。框架没有名称,所以我想我可以只使用 Xpath,但我不确定 Selenium 是否支持使用 Xpath 而不是名称。

这是切换帧的常规方法:

driver.switch_to.frame("WhateverFrame")

这是我尝试过的:

driver.switch_to.frame(By.XPath("//*[@id='ui-id-1']/iframe"))
driver.find_frame_by_xpath("//*[@id='ui-id-43']/iframe")

关于我应该如何更改我的代码以使其工作的任何建议?

您可以使用不同的选项切换到框架。

driver.switch_to.frame('frame_name')
driver.switch_to.frame(frame_index)
driver.switch_to.frame(element)

因此,在您的情况下,您可以发送如下所示的元素

driver.switch_to.frame(driver.find_element_by_xpath("//*[@id='ui-id-43']/iframe"))
如果你想

去第一个iframe,你也可以执行以下操作。

driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])

相关内容

最新更新