在C#网站中使用Selenium进行测试,我需要测试XPath的更改
我需要用selenium和c#创建一个测试自动化工具来测试我公司的网站。一切正常,除了一件事:每次我在网站上重新加载任务(如“创建新用户”)时,某些字段的XPath都会更改。例如,名字字段不再是在C#网站中使用Selenium进行测试,我需要测试XPath的更改,c#,visual-studio,selenium,selenium-webdriver,C#,Visual Studio,Selenium,Selenium Webdriver,我需要用selenium和c#创建一个测试自动化工具来测试我公司的网站。一切正常,除了一件事:每次我在网站上重新加载任务(如“创建新用户”)时,某些字段的XPath都会更改。例如,名字字段不再是“//*[@id=\\“0FirstName\”]”,新的xpath将是“/*[@id=\\“2FirstName\”]”“,selenium不再像以前一样识别该字段->程序停止工作 有没有一种方法可以使动态函数忽略电子邮件前的号码 driver.FindElement(By.XPath("//*[@id
“//*[@id=\\“0FirstName\”]”,新的xpath将是“/*[@id=\\“2FirstName\”]”“
,selenium不再像以前一样识别该字段->程序停止工作
有没有一种方法可以使动态函数忽略电子邮件前的号码
driver.FindElement(By.XPath("//*[@id=\"0FirstName\"]")).SendKeys("Selenium");
您可以按以下方式更改xpath:
driver.FindElement(By.Xpath("//*[contains(@id,'FirstName')]"));
您可以使用contains()
//*[contains(@id,'FirstName')]
//*[substring(@id, string-length(@id) - string-length('FirstName')+ 1, string-length(@id))= 'FirstName']
//*[substring(@id, string-length(@id) - string-length('FirstName')+ 1, string-length(@id))= 'FirstName']