当练习在C#上使用Selenium(Web Driver)进行简单的单元测试时,我遇到了一个与在文本框中检索值相关的问题。这个问题似乎很基础,但我尝试了不同的解决方法,但没有运气。
简单网站的网址为http://www.donethedeal.com
。单击“添加到购物车”,然后单击“查看购物车”,会出现一个名为“数量”的字段。要检索此字段中的值,我用C#编写的代码如下:
Assert.AreEqual("1", driver.FindElement(By.XPath("//*[@id='content']/div/div/div/div/form/table/tbody/tr[1]/td[5]/div/input")).Text);
我无法理解为什么这不起作用。它始终显示无法找到元素。通过右键单击数量框>检索此代码行中输入的X路径。检查>突出显示文本并在Chrome上复制Xpath。
//*[@id="content"]/div/div/div/div/form/table/tbody/tr[1]/td[5]/div/input
答案 0 :(得分:0)
您需要使用value
获取GetAttribute
属性," 1"存储在那里
Assert.AreEqual("1", driver.FindElement(By.XPath("//*[@id='content']/div/div/div/div/form/table/tbody/tr[1]/td[5]/div/input")).GetAttribute("value"));