【问题标题】:How we send value to text area field using selenium我们如何使用 selenium 将值发送到文本区域字段
【发布时间】:2016-02-12 04:18:20
【问题描述】:

在本例中,我们如何使用 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"); 

【问题讨论】:

  • 请在此处发布 html。

标签: selenium


【解决方案1】:

您的定位器不太正确,您需要提供更多信息才能确定您要查找的内容。试试这个 CSS 选项:

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

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

【讨论】:

    【解决方案2】:

    尝试首先关注文本区域。

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

    它似乎工作得很好。

    【讨论】:

      【解决方案3】:

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

      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");
      

      希望对你有帮助:)

      【讨论】:

        【解决方案4】:

        下面的代码在 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';");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-13
          • 1970-01-01
          • 2015-02-04
          • 1970-01-01
          相关资源
          最近更新 更多