我得到ElementNotVisibileException
,但此頁面沒有名稱爲「歷史」的重複的名稱,但它確實有「調用歷史記錄」。任何人都可以提供最好的定位器來定位元素?ElementNotVisibleException:元素當前不可見,因此可能不會與
<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毫秒建立信息:版本:'2.52.0',修訂:'4c2593c',時間:'2016-02-11 19:03:33'系統信息:主機:'rsn-GA-78LMT-S2',ip :'127.0.1.1',os.name:'Linux',os.arch:'amd64',os.version:'3.13.0-54-generic',java.version:'1.7.0_101'Session ID:17716ecc -ffe3-40f9-92a6-8a106acf478d驅動程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabil ities [{platform = LINUX,acceptSslCerts = true,javascriptEnabled = true,cssSelectorsEnabled = true,databaseEnabled = true,browserName = firefox,handlesAlerts = true,nativeEvents = false,webStorageEnabled = true,rotate = false,locationContextEnabled = true,pplicationCacheEnabled = true ,takesScreenshot = TRUE,版本= 38.0.1}] atun.reflect.NativeConstructorAccessorImpl.newInstance0(本機方法)
操作c_history1 = new Actions(obj); \t \t WebElement visbilityhc = obj.findElement(By.xpath(「// span [contains(text(),'Visibility')]」)); WebElement vhistoryc = obj.findElement(By.xpath(「// span [text()='History']」)); \t \t WebElement vhcalls = obj.findElement(By.xpath(「// span [(text()='Calls')]」)); \t \t c_history1.moveToElement(visbilityhc).moveToElement(vhistoryc).moveToElement(vhcalls).click()。build()。perform(); –
如果您在最初發布問題(如上面的代碼)後還想添加一些額外的細節,而不是將其添加爲評論,請繼續編輯您的問題並在其中添加它,以便它可以正確格式化並更多很容易被未來的讀者找到。 – JeffC
當你遇到異常時,'ElementNotVisibleException',這意味着你的元素被找到了,但是它不可見,所以它不能被交互。 Selenium被設計爲只與用戶交互元素,因爲用戶不能與不可見的元素交互,Selenium也不會。從您的「操作」代碼中,您似乎需要多次懸停,然後點擊。您是否嘗試添加一箇中斷點並逐步瀏覽代碼以查看會發生什麼?它可能會幫助您找到問題。 – JeffC