2016-10-22 20 views
0

我有以下選擇。 我想用Java Selenium選擇指定的元素。我嘗試了這些,但沒有他們的工作,我總是得到 在正常使用的情況。如果我點擊元素的如何找到選擇與硒,什麼控制的JavaScript?

沒有這樣的元素:找不到元素:...

繼承人的我代碼(一個或多個):

driver.findElement(By.xpath("//option[@value=\"2498847\"]")).click(); 
     driver.findElement(By.xpath("/html/body/form/div/center/table/tbody/tr[2]/td[1]/font/select/option[2]")).click(); 
     driver.findElement(By.xpath("//html/body/form/div/center/table/tbody/tr[2]/td[1]/font/select/option[2]")).click(); 

厭倦了選擇類:

Select selector = new Select(this.driver.findElement(By.xpath("//select"))); 
selector.selectByVisibleText("Harris_SF_1"); 

我做錯了什麼? 或者是否有可能模擬一個JavaScript點擊並用Selenium調用這個腳本?

HTML:

<select size="10" name="DropDown" onchange="fSaveSearch(document.Form1.DropDown);"> 
    <option value="1715424">1960 cypress creek N</option><!---this shows the saved searches list---> 
    <option value="2164877">Broker Closing Search</option> 
    <option value="2498847">Harris_SF_1</option> 
    <option value="1715426">Spring East</option> 
    <option value="1715428">Spring Klein</option> 
    <option value="1715429">Spring Klein Tomball</option> 
    <option value="1715427">Spring NE</option> 
    <option value="1715432">The Woodlands</option> 
</select> 

的最終目標,以模擬在具體可見的文本或值的選項的點擊。

編輯:網站的默認iFrame不是在這些元素/ js寫入器。如果我改變在鉻控制檯iframe它的作品,但

driver.switchTo().frame("SearchFrame"); 

Doenst工作我改變了錯?

enter image description here

+0

西隧沒有的JavaScript的onchange功能嗎?你有沒有嘗試找到按名稱選擇屬性? – Grasshopper

+0

當你在谷歌瀏覽器中打開頁面時,右鍵單擊目標元素,在開發工具下右鍵單擊高亮html,選擇複製 - >複製XPath,XPath字符串是什麼樣的? – MikeJRamsey56

+0

/html/body/form/div/center/table/tbody/tr [2]/td [1]/font/select/option [3]這是chrome建議的xpath。 – Csanesz

回答

0

感謝馬德漢您的評論解決了我的問題。 但它只在我開啓DefaultContent後才起作用,然後切換到我需要的框架!

driver.switchTo().defaultContent(); 

然後切換到我需要的框架:

driver.switchTo.frame("Frame_ID");