当前位置: 首页 > 面试题库 >

如何使用selenium设置“值”以输入Web元素?

谢选
2023-03-14
问题内容

我的代码中有如下所示的元素:

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

我想设置它的值,所以我用它的xpath创建了一个web元素:

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

但是现在我看不到设置值的选项…


问题答案:

使用findElement代替findElements

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

要么

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

或(使用javascript)

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

或使用JavascriptExecutor

WebElement element = driver.findElement(By.xpath("enter the xpath here")); // you can use any locator
 JavascriptExecutor jse = (JavascriptExecutor)driver;
 jse.executeScript("arguments[0].value='enter the value here';", element);

要么

(JavascriptExecutor) driver.executeScript("document.evaluate(xpathExpresion, document, null, 9, null).singleNodeValue.innerHTML="+ DesiredText);

希望它能对您有所帮助:)



 类似资料:
  • 问题内容: 我的代码中的元素如下所示: 我想设置它的值,所以我用它的xpath创建了一个web元素: 但是现在我看不到设置值的选项… 问题答案: 使用代替 要么 或使用JavascriptExecutor 要么 或(使用javascript) 希望它能对您有所帮助:)

  • 我想通过Selenium设置日期值。 我正在处理这个页面

  • 问题内容: 假设我们有这个网站https://www.coinichiwa.com/,其中有一个BET AMOUNT输入框。它的html是: 我需要在其中添加一些价值。这是我的代码: 但是,既没有将其值设置为“ 0.00000005”,也没有打印输入的。 我不知道怎么了。你能建议吗?为什么不起作用? 问题答案: 您需要先输入文字: 至于第二个问题- 这是一个,您输入的值将保留在属性内,而不是文本内

  • 问题内容: 我有一种情况(在selenium测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全代码,然后才能继续操作。 我不太确定如何获得用户输入的值。我浏览了selenium文档,并提出了这个建议。不幸的是,它并不是很有效。 有人可以指出我正确的方向吗? 问题答案: 似乎您必须先接受并关闭提示,然后才能存储和使用该值

  • 问题内容: 我有一个输入文本是这样的: 哪些产生以下HTML 我想使用jquery设置此输入文​​本的值,所以我做到了: 但是,它不起作用…我的语法有什么错误? 问题答案: 您的选择器正在检索文本框的周围,而不是其内部的输入。 看到输出HTML后更新 如果ASP.NET代码可靠地输出具有id属性的HTML ,则可以更简单地使用: 如果失败,则需要在浏览器的错误控制台中确认没有其他脚本错误导致此操作

  • 问题内容: 我正在使用(selenium webdriver-java)为包含打开小颜色选择窗口的按钮的页面构建测试计划。 这是颜色选择窗口右侧面板的代码: 问题是如何设置新样式.....,我找到了以下解决方案: 它不起作用....任何建议吗? 问题答案: 您可以使用findElement代替getElementById, 您可以参考链接如何在Selenium WebDriverJava中使用Ja