Javascript 无法使用Selenium定位对象

Javascript 无法使用Selenium定位对象,javascript,xpath,selenium,Javascript,Xpath,Selenium,您好,我有下面的html代码,在使用Selenium(通过Java)时,我无法识别输入id按钮。它表示无法定位元素。你能帮我一下吗 我尝试使用xpath和cssselector方法,但没有用。我需要学习Javascript执行器类吗? 有什么不同的方法 请帮帮我 <span class="filed"> <input id="SubmitButton" type="submit" onclick="javascript:WebForm_DoPostBackWithOptions

您好,我有下面的html代码,在使用Selenium(通过Java)时,我无法识别输入id按钮。它表示无法定位元素。你能帮我一下吗

我尝试使用xpath和cssselector方法,但没有用。我需要学习Javascript执行器类吗? 有什么不同的方法

请帮帮我

<span class="filed">
<input id="SubmitButton" type="submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("SubmitButton", "", true, "Validation", "", false, false))" value="SubmitButtonLabel" name="SubmitButton"/>
</span>

可能是元素尚未加载到DOM中。尝试等待预期的条件

Wait<WebDriver> wait= new FluentWait<WebDriver>(driver).withTimeout(15L, TimeUnit.SECONDS).pollingEvery(1, TimeUnit.SECONDS);

WebElement submitButton= wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("SubmitButton")));
Wait Wait=new FluentWait(驱动程序)。带超时(15L,TimeUnit.SECONDS)。轮询间隔(1,TimeUnit.SECONDS);
WebElement submitButton=wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(“submitButton”));

您使用的
xpath
css选择器
请共享。另一件要检查的事情是输入是否包含在frame或iframe中。如果是,您需要使用Driver.SwitchTo.Frame(“frameIdentifier”),然后您应该能够访问该元素。发布SubmitButton的所有父元素可能会有所帮助,这样我们就可以看到包含它的所有元素。它可能像隐藏的元素一样简单,或者,正如Richard所建议的,您的元素可能在另一个框架中。可能是元素尚未加载到DOM中。请尝试等待
元素的可见性
(请参阅我的答案)该网站是否在线?你能分享这个url吗?@Babai-我用过driver.findElement(By.xpath(“./*[@id='SubmitButton']”)和driver.findElement(By.cssSelector(“input#SubmitButton”)谢谢…让我试试这个..我会让你…我想这是肯定的..我学到了一些新东西..DDo我需要使用javascript或action类是解决这个问题的方法吗?