Selenium webdriver自动完成

时间:2012-09-04 15:06:32

标签: selenium autocomplete automation webdriver selenium-webdriver

我输入了

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

和divs with variants

<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);

但它不起作用

帮助,如何使用selenium webdriver从此输入中选择变体?

2 个答案:

答案 0 :(得分: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());

希望这适合你

答案 1 :(得分:0)

试试这个 -

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

如果它不起作用,请告诉我!