我有一個iframe,當我點擊一個頁面上的標籤時被加載。當我使用Firebug來看看IE8上的iframe,我看到的是:硒和iframe
iframe id=tabContextFrame class=contextFrame contentEditable=inherit src=/xyz.dt?forward=show&layouttype=NoHeader&runid=1234 name=tabContextFrame url=/xyz.dt?forward=show&layouttype=NoHeader&runid=1234 scrolling=auto
,這就是下面的iframe後援層次都看不出來。我想點擊iframe中的鏈接。爲了找到iframe中的元素,我做了selenium.click("on the tab that loads the iframe")
,然後selenium.getHtmlSource()
。從這個來源,我至少可以找到我感興趣的鏈接。我做了一個selenium.click("//span[text()='Link']")
,但它似乎沒有做任何事情。請有任何想法嗎?
下面是代碼:
selenium.click("//span[text()='tab that loads iframe']");
Thread.sleep(5000);
selenium.selectFrame("tabContextFrame");
selenium.mouseOver("//span[text()='Link']");
selenium.mouseDown("//span[text()='Link']");
selenium.mouseUp("//span[text()='Link']");
Thread.sleep(5000);
selenium.selectFrame("null");
你試過selenium 2.0與網絡驅動程序? U可以使用driver.SwitchTo()。Frame() – Sudara
[處理webdriver中的iframe]的可能重複(http://stackoverflow.com/questions/9942928/handling-iframe-in-webdriver) – Innovation