簡體   English   中英

未定義類型 List 的方法 sendKeys(String)<WebElement>

[英]The method sendKeys(String) is undefined for the type List<WebElement>

FirefoxDriver driver = new FirefoxDriver(options);

driver.get("https://www.facebook.com/");

//driver.manage().window().maximize();

driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input")).sendKeys("Test Selenium");

這是我的編碼。 我收到sendKeys()錯誤。

我在用:

  • 視窗 8(64 位)
  • java jdk 1.8
  • 硒 3.4.0
  • 火狐 53.0.2(64 位)

我該怎么辦?

driver.findElements返回一個WebElements List 您想要做的是從該List獲取單個元素,然后在該元素上調用sendKeys 您收到的錯誤是因為List<Element>沒有方法sendKeys(String)

例如:

FirefoxDriver driver = new FirefoxDriver(options);
driver.get("https://www.facebook.com/");

driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input"))
    .get(0)
    .sendKeys("Test Selenium");

我觀察到您使用了driver.findelements而不是driver.findelement

使用后一個,以便sendkeys可以正常工作。 希望我已經解決了您的疑問。

為 WebElement 初始化一個局部變量,然后 variable.sendkeys(String) 將正常工作。 例如:

driver.findElement(By.xpath("path").sendKeys(Keys.ENTER);
//here sendkeys will give error so, here is your answer:
WebElement var = driver.findElement(By.xpath("path"));
var.sendKeys(Keys.ENTER);

它應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM