我们如何使用selenium将值发送到文本区域字段

时间:2016-02-12 04:18:20

标签: selenium

我们如何使用selenium webdriver为此示例向文本区域字段发送值

<div class="col-md-8 blockBox">
    <textarea style="width:100%" rows="10"></textarea>
</div>

我尝试了这两个定位器但没有工作:

driver.findElement(By.className("col-md-8 blockBox")).sendKeys("adcfv"); 
driver.findElement(By.cssSelector("col-md-8 blockBox")).sendKeys("adcfv"); 

4 个答案:

答案 0 :(得分:1)

您的定位器不太正确,您需要提供更多信息以确定您正在寻找的内容。尝试使用CSS选项:

driver.findElement(By.cssSelector("div[class='col-md-8 blockBox']"))

这应该更成功地找到元素,并允许您根据需要与其进行交互。

答案 1 :(得分:0)

首先尝试专注于textarea。

driver.findElement(By.xpath(&#34; // div [@class =&#39; col-md-8 blockBox&#39;] / textarea&#34;))。clear(); driver.findElement(By.xpath(&#34; // div [@class =&#39; col-md-8 blockBox&#39;] / textarea&#34;))。sendKeys((&#34; adcfv&# 34);

它似乎工作正常。

答案 2 :(得分:0)

有时您甚至需要将鼠标悬停在元素上以使其可点击。你可以这样做:

String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}";
            ((JavascriptExecutor) driver).executeScript(mouseOverScript,
                     driver.findElement(By.<your locator>));

然后使用任何定位器发送数据

driver.findElement(By.xpath("//div[@class='col-md-8 blockBox']/textarea")).sendKeys(("myData");

希望它会对你有所帮助:)。

答案 3 :(得分:0)

下面的代码在C#中为我工作,试试这个。

IWebDriver driver = new ChromeDriver();//.This line for C# with Selenium

WebDriver driver = new ChromeDriver();//..This line for java with Selenium

driver.Manage().Window.Maximize();

//...Below two lines are for C# with Selenium(use, if you are a C# coder)
driver.Navigate().GoToUrl("https://www.example.com");
diver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));

//...Below two lines are for Java with Selenium(use, if you are a Java coder)
driver.get("https://www.expample.com");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;//...for C# Coder

JavaScriptExecutor js = (JavaScriptExecutor)driver;//...for Java Coder

js.ExecuteScript("document.getElementById('EmpName').value='James Bond';");