1

我有一個像硒的webdriver自動完成

<input id="idForm:j_idt21Input" class="rf-sel-inp" type="text" value="Начните ввод" name="idForm:j_idt21Input" autocomplete="off"> 

輸入的div變種

<div id="idForm:j_idt21Items"> 
<div id="idForm:j_idt21Item0" class="rf-sel-opt">Все</div> 
<div id="idForm:j_idt21Item1" class="rf-sel-opt">Domosti Main (Domosti Main)</div> 
<div id="idForm:j_idt21Item2" class="rf-sel-opt rf-sel-sel">N&K (N&K)</div> 
<div id="idForm:j_idt21Item3" class="rf-sel-opt">АГМ (АГМ)</div> 
<div id="idForm:j_idt21Item4" class="rf-sel-opt">АЕС Групп (АЕС Групп)</div> 
<div id="idForm:j_idt21Item5" class="rf-sel-opt">АРКО (АРКО)</div> 
<div id="idForm:j_idt21Item6" class="rf-sel-opt">АТМ-комплект (АТМ-комплект)</div> 
<div id="idForm:j_idt21Item7" class="rf-sel-opt">Авита (Авита)</div> 
<div id="idForm:j_idt21Item8" class="rf-sel-opt">Аква С. (Аква С.)</div> 
<div id="idForm:j_idt21Item9" class="rf-sel-opt">Акваарт-М (Акваарт-М)</div> 
<div id="idForm:j_idt21Item10" class="rf-sel-opt">Актив групп (Актив групп)</div> 
<div id="idForm:j_idt21Item11" class="rf-sel-opt">Алан-Трейд (Алан-Трейд)</div> 
<div id="idForm:j_idt21Item12" class="rf-sel-opt">Алекон (Алекон)</div> 
<div id="idForm:j_idt21Item13" class="rf-sel-opt">Алекс трейд (Алекс трейд)</div> 
<div id="idForm:j_idt21Item14" class="rf-sel-opt">Альт-М (Альт-М)</div> 
<div id="idForm:j_idt21Item15" class="rf-sel-opt">Альфа (Альфа)</div> 
<div id="idForm:j_idt21Item16" class="rf-sel-opt">Ансан (Ансан)</div> 
<div id="idForm:j_idt21Item17" class="rf-sel-opt">Ария Текстиль (Ария Текстиль)</div> 
<div id="idForm:j_idt21Item18" class="rf-sel-opt">Арреал 2000 (Арреал 2000)</div> 
</div> 

我試圖

webDriver.findElement(By.xpath("//td[text()='Поставщики']/following-sibling::td//input[contains(@id, 'Input')]")).sendKeys("Поливалент"); 
webDriver.findElement(By.xpath("//td[text()='Поставщики']/following-sibling::td//input[contains(@id, 'Input')]")).sendKeys(Keys.ARROW_DOWN); 
webDriver.findElement(By.xpath("//td[text()='Поставщики']/following-sibling::td//input[contains(@id, 'Input')]")).sendKeys(Keys.ENTER); 

,但它不工作

幫助,如何選擇從這個輸入變量硒webdriver?

回答

0

試試這個變種(使用CSS選擇器):

webDriver.findElement(By.cssSelector("input.rf-sel-inp")).sendKeys("Поливалент"); 

或使用JScript的另一種方式:

String cssSelector = .... //css selector of the element u need to select 
JavascriptExecutor js = (JavascriptExecutor) driver; 
     StringBuilder stringBuilder = new StringBuilder(); 
     stringBuilder.append("var x = $(\'"+cssSelector+"\');"); 
     stringBuilder.append("x.click();"); 
     js.executeScript(stringBuilder.toString()); 

希望這對你的作品

+0

不幸的是,沒有工作:( – user1646556

+0

好吧。你怎麼使用DOM來查找需要的元素? 嘗試下一件事情。安裝firepath(插件在Firefox Firebug的),然後輸入有 input.rf-SEL-INP 它對於知道您是否將合適的定位器傳遞給驅動程序至關重要 在DOM中指出元素(輸入字段)嗎? –

+0

正如我所瞭解的,您需要在輸入字段中輸入一些東西,對吧? 必須工作: String properCssSelector =。 ... //正確的css選擇器 webDriver.findElement(By.cssSelector(properCssSelector))clear(); webDriver.findElement(By.cssSelector(properCssSelector))。sendKeys(「blablabla」); –

0

嘗試這個 -

driver.findElement(By.xpath("//input[@value='Начнитеввод']")).sendKeys("Поливалент"); 

讓我知道如果它不工作!