Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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#Webdriver中的微调器清除值异常_C#_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium c#Webdriver中的微调器清除值异常

Selenium c#Webdriver中的微调器清除值异常,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我想测试这个弹出窗口: 但对于spinner,我有一个例外。我试过这些代码,但没有一个有效 Actions componentProportion = new Actions(driver); componentProportion.SendKesy(Kesy.Control+"a"); componentProportion.SendKeys(editNumber,"2356").Build().Perform(); 当我运行这段代码时,什么都没有发生,它也会导致新文本框(显示标题)代码出

我想测试这个弹出窗口:

但对于spinner,我有一个例外。我试过这些代码,但没有一个有效

Actions componentProportion = new Actions(driver);
componentProportion.SendKesy(Kesy.Control+"a");
componentProportion.SendKeys(editNumber,"2356").Build().Perform();
当我运行这段代码时,什么都没有发生,它也会导致新文本框(显示标题)代码出现问题,并且不能正常工作

//Edit display title
IWebElement editDt = driver.FindElement(By.XPath("//*[@id='cmp_display_title']"));
editDt.Click();
Thread.Sleep(500);
editDt.SendKeys(Keys.Control + "a");
editDt.SendKeys(Keys.Delete);
Thread.Sleep(500);
editDt.SendKeys("hello");
如果我想使用此代码:

IWebElement editNumber = driver.FindElement(By.CssSelector("something"));
editNumber.Click();
Thread.Sleep(1000);
editNumber.SendKeys(Keys.Control+"a");
我得到一个例外:

ElementVisibleException:元素不可见


有没有办法解决这个问题?谢谢您的帮助。

我注意到,您想用一些新文本替换显示标题输入文本

为了清除文本,您不需要模拟ctrl+a

简单地说,使用以下代码为文本元素设置新值:

IWebElement editDt = driver.FindElementById("cmp_display_title");
editDt.SendKeys(""); // clears the text
editDt.SendKeys("your new text");

所以,由于您的元素位于框架中,为了能够使用它们,您需要首先切换到该框架(通常按名称)


弹出窗口是iframe的一部分吗?@antonangerov是的。在该框架中,每个组件都有“编辑”按钮。点击后会出现这个弹出窗口。这个不起作用。ElementVisibleException:元素不可见您可能需要先找到iframe,然后切换到该iframe。这可能有助于:
//Switch to required frame
driver.SwitchTo().Frame("ContentContainer");

// find your elements and do the actions

// This is how you switch to the default page
driver.SwitchTo().DefaultContent();