2013-12-20 60 views
0

我堅持在具有一個iframe自動化頁面的問題處理I幀中的webdriver,不具有ID或類屬性

http://jqueryui.com/draggable/

這裏情景是拖放元件本內的這因此無法通過的webdriver

識別iframe元素
+0

您的問題是您無法通過WebDriver模擬拖放?或者iframe沒有id或class?無論如何,請將問題澄清一點。 – aquaraga

+0

即使沒有id或class屬性,xpath或CSS選擇器也可以很容易地工作,所以這應該不是什麼大問題。但你需要告訴我們來源獲得任何幫助。 問題的其他分支是重複的:http://stackoverflow.com/questions/14210051/how-to-automate-drag-drop-functionality-using-selenium-web-driver – t0mppa

+0

張貼你有代碼嘗試到目前爲止,錯誤,如果有的話。 – Akbar

回答

2

選項1:使用CSS選擇或XPath

WebElement iframe = driver.findElement(By.cssSelector(".demo-frame")); 
// alternative locators: 
// XPath: .//iframe[@class='demo-frame'] 
// use src attribute 
// Css Selector: iframe[src*='demos/draggable'] 
// XPath: .//iframe[contains(@src, 'demos/draggable')] 

driver.switchTo().frame(iframe); 

WebElement draggable = driver.findElement(By.id("draggable")); 
// do your drag, where do you want to drop? 

選項2:使用指數(不推薦)

driver.switchTo().frame(0); 
+0

非常感謝你的回答:) 你如何發現元素的XPath?我不知道什麼是XPath,請相應地引導我,我總是這樣做是右鍵單擊Sel-IDE,然後單擊任何元素以獲取XPath,但是在一般情況下,我們如何找到XPath? –

0

你必須安裝螢火蟲和firepath通過在Firefox browser.After安裝插件的XPath,螢火蟲將您的導航欄上顯示。你必須點擊它,你可以找到firepath超出這將提供你xpath css路徑等在檢查員的幫助下。

相關問題