我正在尝试使用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")
关于如何更改代码以使其正常运行的任何建议?
答案 0 :(得分:0)
您可以使用其他选项切换到相框。
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])