TypeInitializationException 在 c# 中对元素执行操作时,Selenium
本文关键字:操作 Selenium 执行 元素 TypeInitializationException | 更新日期: 2023-09-27 17:56:50
我只想单击一个按钮,或编辑输入的文本,但我不能用这种方法做到这一点。我将元素存储在公共静态类中,并从另一个公共静态类调用它们。如果我不使用这个类,我就不会得到异常。
public static class SiteA
{
static uidriver = Program.uidriver;
public static class Functionality
{
public static void SomeTest()
{
//...
Inputs.Buttons.Authorize.Click(); //Here I get the exception
//Working code: uidriver.FindElement(By.Id("some_element")).Click();
//...
}
}
public static class Inputs
{
public static class Buttons
{
public static IWebElement Authorize = uidriver.FindElement(By.Id("some_element"));
}
}
}
class Program
{
public static IWebDriver uidriver;
static void Main(string[] args)
{
uidriver = new FirefoxDriver();
SiteA.Functionality.SomeTest();
}
}
MyExeName 中发生了类型为"System.TypeInitializationException"的未处理异常.exe
其他信息:"输入"的类型初始值设定项引发异常。
内部异常包含以下消息:
无法找到元素: {"方法":"id","选择器":"some_element"}
另一个细节(我认为可能是必要的):
类型名称:输入
问题出在static
参数上。