我无法找到这个元素;它显示如下错误:
在缓存中找不到元素 - 可能页面已经更改了 被查询有关此错误的文档
WebElement w4= d.findElement(By.xpath("//input[@name='businessPartner'
and @oninput='isc_OBSelectorItem_1.$303()']"));
expcitlyWait(w4);
w4.sendKeys("DURIAN INDUSTRIES LTD");
w4.sendKeys(Keys.TAB);
w4.sendKeys(Keys.ENTER);
}
应该找到的示例输入:
<input id="isc_T3"
name="businessPartner"
oninput="isc_OBSelectorItem_1.$303()"
class="OBFormFieldSelectInputRequired"
type="TEXT" tabindex="2239"
style="WIDTH:233px;HEIGHT:19px;-moz-user-focus:normal;"
autocomplete="OFF"
spellcheck="true"
$187="$188"
$186="isc_OBSelectorItem_1"
handlenativeevents="false"
/>
答案 0 :(得分:0)
好的问题似乎是,您引用为“w4”的元素不再存在,或者不存在于同一个地方。 如果页面上的某些内容发生了更改,则会在xpath调用和对w4
的调用之间发生此错误尝试使用绝对Xpath。 (找到w4,并在d上找到输入)。 所以你的代码应该看起来像那样:
expcitlyWait(d.findElement(By.xpath("//input[@name='businessPartner'
and @oninput='isc_OBSelectorItem_1.$303()']")));
d.findElement(By.xpath("//input[@name='businessPartner'
and @oninput='isc_OBSelectorItem_1.$303()']"))
.sendKeys("DURIAN INDUSTRIES LTD");
d.findElement(By.xpath("//input[@name='businessPartner'
and @oninput='isc_OBSelectorItem_1.$303()']"))
.sendKeys(Keys.TAB);
d.findElement(By.xpath("//input[@name='businessPartner'
and @oninput='isc_OBSelectorItem_1.$303()']"))
.sendKeys(Keys.ENTER);