Selenium webdriver 无法使用webdriver识别元素,尽管IDE很容易识别它

Selenium webdriver 无法使用webdriver识别元素,尽管IDE很容易识别它,selenium-webdriver,webdriver,Selenium Webdriver,Webdriver,我很难找到一个输入框,并通过webdriver在其中输入值 这是输入框的HTML代码 <div class="OCYEKPD-qb-a input-field-error" id="gwt-debug-lineItem-mainSizeWidget" style="display: block;"> <span class="gwt-InlineLabel OCYEKPD-qb-c goog-inline-block" style="display: none;">

我很难找到一个输入框,并通过webdriver在其中输入值 这是输入框的HTML代码

<div class="OCYEKPD-qb-a input-field-error" id="gwt-debug-lineItem-mainSizeWidget" style="display: block;">
    <span class="gwt-InlineLabel OCYEKPD-qb-c goog-inline-block" style="display: none;"></span>

    <div style="display: inline;">
        <input class="OCYEKPD-qb-e OCYEKPD-qb-l" style="width: 15px;" type="text">

        <div class="OCYEKPD-ld-a" style="display: none;"></div>
    </div>
</div>
但是webdriver跳过该框而不是输入值并移动到下一行,不会引发错误或异常。

尝试以下操作:

WebElement divElement = driver.findElement(By.id("gwt-debug-lineItem-mainSizeWidget"));
divElement.findElement(By.tagName("input")).sendKeys("300x250");

代码首先标识输入元素所在的div容器。然后从这个容器中搜索它能在这个容器中找到的第一个输入元素并发送你的字符串。

你应该能够按类找到元素,因为输入标记没有id。你应该能够:

WebElement divElement=driver.findElement(By.ClassName(“OCYEKPD-qb-e”)

尝试:

driver.find_element(By.ID("gwt-debug-lineItem-mainSizeWidget")).sendKeys("300x250");

您缺少下划线,ID需要大写。

这里是HTML代码ID不能大写。别搞糊涂了,太谢谢你了!它起作用了,我从过去两天就开始试着这么做了。
driver.find_element(By.ID("gwt-debug-lineItem-mainSizeWidget")).sendKeys("300x250");