【发布时间】:2015-08-19 18:36:42
【问题描述】:
我是 Selenium 的新手,这是我第一个使用 java 的 webdriver 代码。 我正在尝试打开谷歌页面并搜索 seleniumhq.org。 我的问题是 - 当我使用它的名称检查一个元素时,如果我更改它以通过它的 id 查找一个元素,则代码可以完美地工作并且相同的代码。我收到一条错误消息,为“线程“主”org.openqa.selenium.InvalidElementStateException 中的异常:元素已禁用,因此可能无法用于操作”
请帮助我理解这个问题。 包 com.webdriver.chapter1;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class NavigateToUrl {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.co.in");
WebElement searchBox = driver.findElement(By.id("gs_htif0"));
//System.out.println(searchBox.getText());
//List<WebElement> buttons = driver.findElements(By.className("gsfi"));
//System.out.println(buttons.size());
searchBox.sendKeys("seleniumhq.org");
searchBox.submit();
//WebElement aboutLink = driver.findElement(By.linkText("Videos"));
//aboutLink.click();
} }
【问题讨论】:
-
aholts 答案是正确的。找到正确 ID 的方法是导航到页面并右键单击所需元素(如果可能)并选择检查元素。浏览器的开发工具栏应该打开并选择元素。然后,您可以查找正确的 ID 并使用它。我更喜欢 Chrome,因为它具有所有功能。我强烈建议您找到自己喜欢的浏览器,并观看或阅读一些有关如何使用该浏览器的开发工具的教程。它将在编码时为您提供极大的帮助。