Selenium:如何在getText()字符串中扫描

时间:2018-02-21 16:55:39

标签: selenium-webdriver

我如何scan.in使用getText()方法获得的相同文字?

使用以下代码时,我收到错误:

  

java.lang.ClassCastException:java.util.ArrayList无法强制转换为org.openqa.selenium.WebElement

public void Question()
    {

        //String a =scan.;
        String ques = d.findElement(By.xpath("//*[@id='XYZ")).getText();
        System.out.println(ques);
        Scanner scan = new Scanner(Sques);
        String a = scan.next();
        ((WebElement) d.findElements(By.xpath("//*[@id='XYZ']"))).sendKeys(a);

1 个答案:

答案 0 :(得分:0)

你有(至少)两个错误:

首先,你在第一个 findElement 上缺少一个撇号和一个小括号:

String ques = d.findElement(By.xpath("//*[@id='XYZ")).getText();

应该是:

WebElement elem = d.findElement(By.xpath("//*[@id='XYZ']"));
String ques = elem.getText();

此外, sendKeys 行有 findElements (复数)而不是 findElement ,它会返回一个列表数组,因此会出现转换错误。你无论如何都不需要重新定位webelement,因为你已经在 elem 中得到了它,所以这一行:

((WebElement) d.findElements(By.xpath("//*[@id='XYZ']"))).sendKeys(a);

可以替换为:

elem.sendKeys(a);