我正在尝试使用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])

关于python - 我正在尝试使用Xpath切换Selenium中的帧,但是到目前为止还没有成功,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56677183/

10-14 17:40
查看更多