【问题标题】:selenium webdriver error when searching by.id.搜索 by.id 时出现 selenium webdriver 错误。
【发布时间】: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,因为它具有所有功能。我强烈建议您找到自己喜欢的浏览器,并观看或阅读一些有关如何使用该浏览器的开发工具的教程。它将在编码时为您提供极大的帮助。

标签: selenium-webdriver


【解决方案1】:

该错误告诉您的是,您通过 ID 选择的元素在网页上被禁用。

快速浏览一下 google.co.in 的 HTML 结构告诉我,您尝试选择的元素实际上已被禁用:

<input class="gsfi" 
    disabled="" 
    autocomplete="off" 
    aria-hidden="true" 
    id="gs_htif0" dir="ltr" 
    style="border: none; 
        padding: 0px; 
        margin: 0px; 
        height: auto; 
        width: 100%; 
        position: absolute; 
        z-index: 1; 
        -webkit-text-fill-color: silver; 
        color: silver; 
        transition: all 0.218s; 
        -webkit-transition: all 0.218s; 
        opacity: 0; 
        text-align: left; 
        left: 0px; 
        background-color: transparent;">

您应该选择未禁用的元素,其 id 为:“lst-ib”

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 1970-01-01
    • 2011-11-01
    • 2021-02-11
    • 1970-01-01
    • 2018-06-17
    • 2013-12-23
    • 1970-01-01
    • 2012-01-28
    相关资源
    最近更新 更多