C# 不能更改行中的值
测试应:1.点击图标“编辑”行(附带更改密码表);2.键入新的“密码”;3.单击表单中的“确定”按钮。 其在Watir+Ruby上的工作原理:C# 不能更改行中的值,c#,selenium-webdriver,watir,C#,Selenium Webdriver,Watir,测试应:1.点击图标“编辑”行(附带更改密码表);2.键入新的“密码”;3.单击表单中的“确定”按钮。 其在Watir+Ruby上的工作原理: browser.img(:title, "Edit").click #fire_event 'onclick' browser.text_field(:id,"ID").set 'password' # Set new password browser.div(:id,"ID").click # Save a password 密码被更改了-没关系。
browser.img(:title, "Edit").click #fire_event 'onclick'
browser.text_field(:id,"ID").set 'password' # Set new password
browser.div(:id,"ID").click # Save a password
密码被更改了-没关系。
但当我在SeleniumWebDriver+C上尝试同样的方法时,密码并没有改变。
代码:
伙计们,我做错了什么?
我希望您的帮助。如果文本框和按钮的ID相同,那就是您的问题。每个页面上有多个ID实例是不可取的。即使元素类型不同,也不应该发生这种情况。Chrome采用正确的html,因此当您搜索id为“id”的元素时,它会获取第一个实例。以下是该问题的解决方法:
driver.FindElements(By.CssSelector("#myId img")[0].Click();
或
为什么你发送的是“1”而不是“密码”?我尝试了数字和latters。这并不重要。我还注意到按钮“OK”被点击,更改应该被保存。不要理解为什么watir和selenium上的相同源代码不起作用。如果有人有任何想法,我真的很感激。。
driver.FindElements(By.CssSelector("#myId img")[0].Click();
driver.FindElement(By.CssSelector("img[title='edit']");