- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 Selenium 在网站上查找元素。我正在查看的页面是:
http://www.usaswimming.org/DesktopDefault.aspx?TabId=1470&Alias=Rainbow&Lang=en-US
具体来说,我试图找到“姓氏”输入框的元素并用 Java 发送键。文本框的 html 看起来像这样:
<div class="field">
<input id="ctl62_txtSearchLastName" type="text" maxlength="36" name="ctl00$ctl62$txtSearchLastName">
</div>
因此,我最初尝试通过唯一的id来获取元素:
WebDriver driver = new InternetExplorerDriver();
driver.get(timeSearchSite);
...
driver.findElement(By.id("ctl62_txtSearchLastName")).sendKeys(lastName);
但是这会产生以下错误:
线程“main”中的异常 org.openqa.selenium.NoSuchElementException:无法找到 id == ctl62_txtSearchLastName 的元素(警告:服务器未提供任何堆栈跟踪信息)
我也尝试过使用同样失败的名称。由于这是一个 javascipt 页面,我认为在尝试访问该元素之前我可能需要等待。我尝试了显式和隐式等待,均导致超时。我的下一个想法是我在错误的框架中,但我似乎找不到另一个框架。我尝试建立索引,因为我没有名字,但找不到任何其他框架。页面顶部有这个可能会弄乱 selenium:
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-WMWM93" height="0" width="0"
style="display: none; visibility: hidden"></iframe></noscript>
是什么导致了这个错误?我怎样才能找到元素?任何帮助将不胜感激/
最佳答案
使用 explicit wait为我工作(尝试了 chrome 和 firefox):
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(
ExpectedConditions.visibilityOfElementLocated(By.id("ctl62_txtSearchLastName"))
);
element.sendKeys("test");
结果:
关于java - Selenium 找不到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832266/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!