2015-10-02 347 views
2

我使用Excel VBA,Selenium和Chrome。Selenium VBA選擇選項輸入元素

Threse是一個下拉框,我試圖選擇一個選項。 HTML代碼:

<div class="x-form-field-wrap x-form-field-trigger-wrap x-abs-layout-item x-trigger-wrap-focus" id="ext-gen437" style="width: 100px; left: 330px; top: 70px;"> 

<input maxlength="1" spellcheck="false" id="ext-comp-1233" name="CITTADINANZA"  class="x-form-text x-form-field x-field-uppercase x-trigger-noedit x-form-focus" readonly="" style="width: 75px;" /> 

<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt="" class="x-form-trigger x-form-arrow-trigger" id="ext-gen438" /> 

</div> 

的dispalyed文本選項是「思」和「否」,但在HTML代碼沒有期權,指數,值......(它只是一個輸入元素; img元素是箭頭,你必須點擊下拉)

我試着使用,填補了輸入元素:

driver.FindElementByCss("#ext-comp-1233").AsSelect.SelectByIndex 
driver.FindElementByCss("#ext-comp-1233").AsSelect.SelectByValue 
driver.FindElementByCss("#ext-comp-1233").AsSelect.SelectByText 
driver.FindElementByCss("#ext-comp-1233").Sendkeys 

但我recive錯誤: 「意外的標籤名錯誤 預期值=選擇 得到=輸入」

...雖然Sendkeys不起作用。

你有什麼想法嗎?

謝謝:)

+0

看來,下拉因素是動態的。所以它可能不是一個選擇元素。您可以嘗試單擊向下箭頭圖像,等待一秒鐘,然後單擊下拉條目。您可以先點擊圖片查看下拉菜單,查看真實的html代碼 –

+0

@ShalvinAbraham謝謝您的回答。點擊圖片後,輸入的html代碼不會改變,只需更改div的類代碼。我可以點擊向下的箭頭圖像和sendkey一個downarrow,但是當我發送密鑰輸入(選擇選項)不起作用。 –

+0

您是否嘗試檢查選項元素?我認爲這將是另一個分歧。 –

回答

0

的解決方法是點擊下拉圖像,並顯示動態創建的div時,點擊這些div。

1

試試這個:

driver.findelementbyxpath("xpath of element").asselect.selectbytext("option text")

+0

這足以幫助我找出我需要什麼,謝謝! – FreeMan