Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium(C),使用JavaScript查找元素失败_Javascript_C#_Selenium - Fatal编程技术网

Selenium(C),使用JavaScript查找元素失败

Selenium(C),使用JavaScript查找元素失败,javascript,c#,selenium,Javascript,C#,Selenium,我正在尝试使用JavaScript查找web元素。正在找到第一个元素。当我使用类似的代码查找另一个元素时,我得到null ref.exception。当我将代码输入开发者工具F12时,元素被找到了 以下是我使用的代码: IJavaScriptExecutor js = Driver as IJavaScriptExecutor; IWebElement ChangeAccessRightsLink = (IWebElement)js.ExecuteScript("return document.

我正在尝试使用JavaScript查找web元素。正在找到第一个元素。当我使用类似的代码查找另一个元素时,我得到null ref.exception。当我将代码输入开发者工具F12时,元素被找到了

以下是我使用的代码:
IJavaScriptExecutor js = Driver as IJavaScriptExecutor;
IWebElement ChangeAccessRightsLink = (IWebElement)js.ExecuteScript("return document.getElementsByClassName('aaaaaaaaa')[1];");
ChangeAccessRightsLink.Click();
IJavaScriptExecutor jss = Driver as IJavaScriptExecutor; //AddNewAccessRightButton =null :(
IWebElement AddNewAccessRightButton = (IWebElement)jss.ExecuteScript("return document.getElementsByClassName('bbbbbbbbb')[0];");

您需要等待JS尚未准备好。
尝试显式等待、流畅等待。

共享URL或HTML,以便轻松回答。当您使用JSE时,您有点违背了使用Selenium的意义。为什么不直接用硒抓住元素呢?在JSE中,你没有做任何硒元素做不到的事情。我同意,@iamsanklap89。C上的Selenium驱动程序无法使用XPath或类找到它。因为我想快速修复它,所以我使用了JavaScript。这是绝对正确的答案!令人惊讶的是,这是多么简单——多加一秒钟就成功了。很高兴这对你有用。投票支持你。您现在将有权对帖子进行投票: