c# - 尝试将 IWebElement 转换为 By 元素

标签 c# selenium selenium-webdriver casting

假设我有一个页面对象

[FindsBy(How = How.Id, Using = "buttonSignIn")] 公共(public) IWebElement BtnSignin { 得到;放; }

我正在尝试将其传递给此方法以将 IWebElement 转换为 By 元素。

public void MoveAndClick(IWebElement element)
{
    var findElement = driver.FindElement((By)element);

    Actions act = new Actions(driver);
    act.MoveToElement(findElement);
    act.Click(findElement);
    act.Perform();
}

我知道这段代码可以在不将元素转换为 By 元素的情况下工作,但是为了让我的测试正常工作,我需要弄清楚如何转换 IWebElement 放入 By 元素中。

当我运行它时,我得到一个空异常错误。有人对此有简单的解决方案吗?

最佳答案

简短的回答,这是不可能的。 Selenium 的开发人员已决定对此没有有用的用例。

关于c# - 尝试将 IWebElement 转换为 By 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36888327/

相关文章:

c# - 根据安装时间打开不同的表格

c# - 这是在 WPF 中使用 Tasking & Dispatcher 的正确方法吗?

java - 如何将 Chrome 浏览器搜索结果区域设置为特定国家/地区?

java - PhantomJs 2.1.1 无法在带有 Selenium 3.4 的 CentOs 6.5 上运行

java - 我可以为多个 Web 操作仅调用一次 PageFactory 实例吗?

c# - UniformGrid 通过 C# 添加按钮

c# - 将图像移动到背景?

python - pytest 自动化显然在测试收集阶段运行测试

java - 如何通过 Selenium Webdriver 检索元素的 HTML?

javascript - 什么将解决 WebDriverError : Connection refused error message?