web-dev-qa-db-fra.com

Comment définir "valeur" pour entrer un élément Web à l'aide de sélénium?

J'ai un élément dans mon code qui ressemble à ceci:

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

Je veux définir sa valeur, alors j'ai créé un élément Web avec son xpath:

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

mais maintenant je ne vois pas une option pour définir la valeur ...

19
Joe

Utilisez findElement au lieu de findElements

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

OR

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

OR

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

J'espère que ça vous aidera :)

28
Shubham Jain
driver.findElement(By.id("invoice_supplier_id")).setAttribute("value", "your value");
6
Kim Homann

Comme Shubham Jain l'a déclaré, cela fonctionne pour moi: driver.findElement(By.id("invoice_supplier_id")).sendKeys("value"‌​, "new value");

3
eeadev