我收到ElementNotVisibileException
但此页面没有重复的名称,其名称为"历史记录"但它确实有"呼叫历史"。任何人都可以建议最好的定位器来定位元素吗?
<li class="ui-widget ui-menuitem ui-corner-all ui-menu-parent" aria- haspopup="true" role="menuitem">
<a class="ui-menuitem-link ui-corner-all" href="javascript:void(0)">
<span class="ui-menuitem-text">History</span>
<span class="ui-icon ui-icon-triangle-1-e"></span>
</a>
错误
org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:122毫秒建立信息:版本:&#39; 2.52.0&#39;,修订版:&#39; 4c2593c&#39;,时间:&#39; 2016-02-11 19:03:33&#39;系统信息:主持人:&#39; rsn-GA- 78LMT-S2&#39;,ip:&#39; 127.0.1.1&#39;,os.name:&#39; Linux&#39;,os.arch:&#39; amd64&#39;,os.version :&#39; 3.13.0-54-generic&#39;,java.version:&#39; 1.7.0_101&#39;会话ID:17716ecc-ffe3-40f9-92a6-8a106acf478d驱动信息:org.openqa.selenium。 firefox.FirefoxDriver Capabilities [{platform = LINUX,acceptSslCerts = true,javascriptEnabled = true,cssSelectorsEnabled = true,databaseEnabled = true,browserName = firefox,handlesAlerts = true,nativeEvents = false,webStorageEnabled = true,rotating = false,locationContextEnabled = true,pplicationCacheEnabled = true ,takesScreenshot = true,version = 38.0.1}] atun.reflect.NativeConstructorAccessorImpl.newInstance0(原生方法)
答案 0 :(得分:0)
如果您想获得包含文字a
的{{1}}元素,请尝试使用History
与linkText
一起使用,等待元素显示如下: -
ExpectedConditions.visibilityOfElementLocated
或者如果您想获得包含文字WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement linkElement= wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("History")));
的{{1}}元素,请尝试使用span
,如下所示: -
History
已修改: - 如果鼠标悬停在此xPath
上,请尝试使用WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement spanElement = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[text() = 'History']")));
执行element
,如下所示: -
Action
或
MouseOver
希望它能起作用.. :)