我正在尝试在使用 ASP.NET 创建的网页上查找元素。问题是 4.0 版之前的 ASP.NET 会为控件生成一些长名称,因此要找到一个简单的“用户名”输入字段,我需要使用其全名:
var elementName = "LoginControl1_uxLoginControl_UserName";
var username = Browser.TryFind(By.Name(elementName));
它似乎工作正常,但我正在寻找更简单的方法。是否可以使用部分元素名称或部分 ID 来做同样的事情?例如
var username = Browser.TryFind(By.CssSelector("UserName"));
这应该返回名称/ID 中包含“UserName”的所有元素(甚至是第一个元素)。
最佳答案
您可以使用 xpath 执行此操作,
var username = Browser.TryFind(By.Xpath("//*[contains( @name , 'UserName')] "));
另一种选择是尽可能使用 css 选择器
关于css - 带有 ASP.NET 控件的 Selenium WebDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382064/