Python - Selenium - 在iframe中导航的问题

时间:2016-01-11 03:47:56

标签: python selenium iframe

我一直在尝试使用selenium登录网站。我有以下问题>我设法打开一个iframe(在我点击登录按钮后它正确显示)但我一直无法进入它。我一直试图通过它的Id和名字找到它,但我不知何故找不到它......

该行看起来像:

driver.switch_to.frame(driver.find_element_by_id("frameid"))

我收到错误“没有这样的元素”。我检查了1000次id,这是正确的!我要切换到的帧不在另一帧内。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  

似乎id以某种方式动态分配但始终以相同的字符开头。我显然无法使用基于正则表达式的搜索

在这种情况下,您可以使用XPathstarts-with()功能找到它:

frame = driver.find_element_by_xpath("//iframe[starts-with(@id, 'something')]")
driver.switch_to.frame(frame)

或者,使用CSS "begin with" selector

frame = driver.find_element_by_css_selector("iframe[id^=something]")
driver.switch_to.frame(frame)