我如何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);
答案 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);