无法点击位于桌下的Iframe下面的网站内的网站按钮

时间:2013-11-05 17:00:18

标签: webdriver

我想点击位于Iframe下的按钮* 创建订单 *。为了做到这一点,我需要将我的驱动程序切换到iframe,我需要先找到iframe。现在我已经尝试了一切来找到这个iframe。当我开始挖掘时,我重新启动,如果我这样做

WebElement table= dr.findElement(By.xpath(or.getProperty("html/body/div[4]/form/table/tbody/tr[2]")));

我得到了table.size()

的一些价值

但如果我这样做:

WebElement table= dr.findElement(By.xpath(or.getProperty("html/body/div[4]/form/table/tbody/tr[3]")));

我得到0分。

我花了这么多时间才到达这个框架。当我使用cssSelector或xpath失败时,我开始按每个节点进行操作,这是我如何找到它的。 请帮忙。

1 个答案:

答案 0 :(得分:0)

假设您使用的是Java,则可以通过三种方式使用SwitchTo().Frame()来处理iframe

  1. 按iframe名称或ID。如果iframe有name="frameName"id="frameID",您可以使用dr.SwitchTo().Frame("frameName")dr.SwitchTo().Frame("frameID")

  2. 按iframe元素。您可以按照以下方式处理iframe: dr.SwitchTo().Frame(dr.findElement(By.Css("table>tbody>tr:nth-child(3)>iframe")));

  3. 按计数,从0开始。您可以通过以下方式处理iframe: dr.SwitchTo().Frame(0),会切换到第一个iframe。

  4. 对于#2,我们可以为您提供更好的CSS选择器帮助,如果您包含一些html,包括问题的iframe,以及问题中的几行。

相关问题