在我的一个自动化测试中,我需要在文本框中按 Ctrl + V 将文本粘贴到其中。但我不能这样做。我正在使用Selenium WebDriver for .net v.2.35.0.0。 这是我的代码,它不起作用。它按 Ctrl 然后按 V ,但文本不会粘贴在框中:
IWebDriver webDriver = new InternetExplorerDriver();
webDriver.Navigate().GoToUrl(@"C:\Users\us\Documents\Visual Studio 2012\Projects\SeleniumTests\SeleniumTests\test.html");
var el = webDriver.FindElement(By.XPath(".//*[@id='fld']"));
el.Click();
Actions builder = new Actions(webDriver);
builder.KeyDown(el, Keys.LeftControl).Perform();
builder.SendKeys(el, "v").Perform();
builder.KeyUp(el, Keys.LeftControl).Perform();
webDriver.Quit();
更新 操作系统:Windows Server 2012,x64 浏览器:IE10
答案 0 :(得分:6)
以下是我的建议:
IWebDriver webDriver = new InternetExplorerDriver();
webDriver.Navigate().GoToUrl(@"C:\Users\us\Documents\Visual Studio 2012\Projects\SeleniumTests\SeleniumTests\test.html");
var el = webDriver.FindElement(By.XPath(".//*[@id='fld']"));
el.Click();
el.SendKeys(Keys.CONTROL+ "v");
webDriver.Quit();
答案 1 :(得分:0)
你可以尝试这种简单的方式
driver.findElement(By.xpath(FileUpDownLoad._SOURCE_NAME)).sendKeys(Keys.CONTROL + "v");
答案 2 :(得分:0)
接受的答案对我不起作用,对我有用的是:
new Actions(driver).KeyDown(OpenQA.Selenium.Keys.Control).SendKeys("v").KeyUp(OpenQA.Selenium.Keys.Control).Perform();