我正在尝试使用selenium驱动程序填充表格,我能找到的所有文档只显示如何从单元格中检索数据。我可以使用:
访问我的表格单元格var rows = Driver.FindElement(By.Id("Products")).FindElements(By.XPath("id('Products')/tbody/tr"));
var cells = tableRows[1].FindElements(By.XPath("td"));
但是我找不到任何方法来更新其中的数据。 “Text”属性只有一个Get方法,而SendKeys()函数不起作用。如何编辑单元格的值?
作为旁注,我的单元格包含一个html“输入”,我试图用单元格的FindElement函数访问它,但由于某些原因它无法找到它。
答案 0 :(得分:2)
一般来说,如果单元格确实包含输入元素,SendKeys
应该有效。但是因为你还说你找不到输入元素,我怀疑输入元素并不是始终存在于每个单元格中。您应该首先单击单元格,以便输入元素出现在该单元格上。如果在点击之前检查元素,您应该能够使用开发工具验证它。
答案 1 :(得分:0)
IWebElement没有提供改变文本的方法,但你可以使用一点JS - 有点像:
((IJavaScriptExecutor)Driver).ExecuteScript("document.getElementByXXXXX.innerHTML = "VALUE";");