我们如何使用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");
答案 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';");