【问题标题】:How to switch to iframe if it is dynamically created using python selenium如果它是使用python selenium动态创建的,如何切换到iframe
【发布时间】:2020-08-21 04:22:12
【问题描述】:

在我的例子中,iframe 是在加载时动态创建的,有时会创建 2 个 iframe,有时会创建 3 个 iframe。我想得到最后一个 iframe。我试过了

  iframe_list =  driver.find_elements_by_tag_name("iframe")
  length = len(iframe_list)
  print(length) 
  length=length-1 // because switch_to.frame starts with 0
  print(length)
  driver.switch_to.frame(length) // not working

使用这个我无法访问这个 iframe 中的元素,我也尝试打印

  print(driver.switch_to.frame(length))  // output None 

那么如何在使用 python selenium 动态创建时获取最后一个 iframe

【问题讨论】:

  • 请发布您的相关html或url?
  • 对不起,这是我公司的私人网址。我认为问题本身我清楚地提到每次加载 iframe 时都会像 2,3 等动态创建...我想切换到最后一个 iframe。如何实施? @昆杜克
  • 这是嵌套的iframe吗?可以发张图片确认一下是否是嵌套iframe吗?

标签: python selenium iframe


【解决方案1】:

获取最后一个 iframe 元素。

driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[-1])

或者在 xpath 中使用 [last()]。

 driver.switch_to.frame(driver.find_element_by_xpath("(//iframe)[last()]"))

【讨论】:

  • 它不是嵌套的 iframe ... 附截图
  • @DivyaMani :检查我更新的答案。让我知道这是怎么回事?
猜你喜欢
  • 2018-12-11
  • 2023-03-07
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
  • 2021-11-14
  • 2021-03-16
  • 1970-01-01
  • 2020-11-23
相关资源
最近更新 更多