Tôi có khung nội tuyến được tải khi tôi nhấp vào tab trên trang. Khi tôi sử dụng Firebug để nhìn vào iframe trên IE8, tất cả tôi thấy là:Selen và 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
và đó là hệ thống phân cấp it.The dưới iframe không thể được nhìn thấy. Tôi muốn nhấp vào liên kết trong khung nội tuyến. Để tìm các phần tử trong khung nội tuyến, tôi đã thực hiện một selenium.click("on the tab that loads the iframe")
và sau đó selenium.getHtmlSource()
. Từ nguồn này, tôi ít nhất cũng có thể xác định được mối quan tâm của tôi. Tôi đã làm một selenium.click("//span[text()='Link']")
nhưng nó dường như không làm bất cứ điều gì. Bất kỳ ý tưởng xin vui lòng?
Đây là mã:
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");
Bạn đã thử selenium 2.0 với trình điều khiển web chưa? U có thể sử dụng driver.SwitchTo(). Frame() – Sudara
có thể trùng lặp với [xử lý iframe trong webdriver] (http://stackoverflow.com/questions/9942928/handling-iframe-in-webdriver) – Innovation