我有一种情况,我想使用“By”定位器来查找元素。我使用PageFactory初始化了元素。
像这样的东西:
[TestClass]
public class Page
{
private IWebDriver _driver;
[FindsBy(How = How.Id, Using = "Username")]
public IWebElement TxtUsername { get; set; }
public Page(IWebDriver driver)
{
_driver = driver;
PageFactory.InitElements(_driver, this);
}
public void DoSomething()
{
By locator = GetLocator(TxtUsername); //Not real function
IWebElement e = _driver.FindElement(locator);
}
}
我知道我可以从 GetAttribute 中获取 Id,但如果我使用 XPath 定位元素或元素根本没有 ID,它就无法解决。
像这样:
By locator = By.Id(element.GetAttribute("id"));
谢谢