8

Mam element w moim kodu, który wygląda tak:Jak ustawić "wartość", aby wprowadzić element sieci za pomocą selenu?

<input id="invoice_supplier_id" name="invoice[supplier_id]" type="hidden" value=""> 

Chcę ustawić swoją wartość, więc stworzyłem element internetową z jego XPath:

val test = driver.findElements(By.xpath("""//*[@id="invoice_supplier_id"]""")) 

ale teraz już nie zobaczysz możliwość ustawienia wartości ...

+1

Jeśli "Pracując z identyfikatorem, powinieneś użyć odpowiedniego By-Locator:' By.id ("invoice_supplier_id") ' –

+1

Aktualnie gromadzisz listę WebElements. Będziesz musiał wyodrębnić WebElement z listy lub po prostu sam znaleźć WebElement. Będziesz musiał również odkryć element, zanim Selen będzie mógł z nim współdziałać. – Ardesco

Odpowiedz

14

Zastosowanie findElement zamiast findElements

driver.findElement(By.xpath("//input[@id='invoice_supplier_id'])).sendKeys("your value"); 

LUB

driver.findElement(By.xpath("//input[@id='invoice_supplier_id'])).setAttribute("value", "your value") 

LUB

driver.findElement(By.id("invoice_supplier_id")).setAttribute("value", "your value"); 

nadzieję, że pomoże Ci :)

+0

Wyślij klucze do ukrytego elementu? –

+6

Otrzymuję ten sam problem tutaj. Ale nie ma takiej metody 'setAttribute' w WebElement. Wszelkie inne sugestie? –

+0

@NarayanSubedi, metoda sendKeys działa dla mnie \t \t \t driver.findElement (By.id ("elementId")). SendKeys ("wartość", "nowa wartość"); – eeadev

7
driver.findElement(By.id("invoice_supplier_id")).setAttribute("value", "your value"); 
1

Jak stwierdzono Shubham Jain, to działa na mnie: driver.findElement(By.id("invoice_supplier_id")).sendKeys("value"‌​, "new value");

Powiązane problemy