我想点击位于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失败时,我开始按每个节点进行操作,这是我如何找到它的。 请帮忙。
答案 0 :(得分:0)
假设您使用的是Java,则可以通过三种方式使用SwitchTo().Frame()
来处理iframe
按iframe名称或ID。如果iframe有name="frameName"
或id="frameID"
,您可以使用dr.SwitchTo().Frame("frameName")
或dr.SwitchTo().Frame("frameID")
。
按iframe元素。您可以按照以下方式处理iframe:
dr.SwitchTo().Frame(dr.findElement(By.Css("table>tbody>tr:nth-child(3)>iframe")));
按计数,从0开始。您可以通过以下方式处理iframe:
dr.SwitchTo().Frame(0)
,会切换到第一个iframe。
对于#2,我们可以为您提供更好的CSS选择器帮助,如果您包含一些html,包括问题的iframe,以及问题中的几行。