2016-11-02 32 views
1

的HTML元素找到元素是:無法使用的x路

<html> 
< div class="view view-text" style="text-decoration: none; top: 9px; width: 216px; font-family: Kiro-webfont,Helvetica Neue,Arial; font-size: 20px; font-weight: bold; text-align: center; color: rgb(255, 255, 255);">OK</div> 
<\html> 

從螢火蟲的x路:

/html/body/div[3]/div/div/div[3]/div/div[3]/div/div[4]/div[2]/div/div/div[1]/div 

沒有額外的幀。 窗口正在我的代碼中處理。 我正在使用x路徑並無法找到具有以下錯誤消息的元素。

16:45:32.443 INFO - 執行:[find element:By.xpath:/ html/body/div [3]/div/div/div [3]/div/div [3]/div/div [4]/div [2]/div/div/div [1]/div]) 16:45:38.258 WARN - 拋出異常 org.openqa.selenium.NoSuchElementException:no such element:Unable to locate element :{「method」:「xpath」,「selector」:「/ html/body/div [3]/div/div/div [3]/div/div [3]/div/div [4]/div [ (會話信息:chrome = 54.0.2840.71) (驅動程序信息:chromedriver = 2.25.426923(0390b88869384d6eb0d5d09729679f934aab9eed),平臺= Windows NT 6.1.7601 SP1 x86_64 )(警告:服務器沒有提供任何堆棧跟蹤信息) 命令持續時間或時間t:5.03秒 有關此錯誤的文檔,請訪問:http://seleniumhq.org/exceptions/no_such_element.html 構建信息:版本:'2.53.0',修訂:'35ae25b',時間:'2016-03-15 17:00:58' 系統信息:host:'CTV-RLEE',ip:'10.1.58.129',os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version:'1.8.0_111 ' 驅動信息:org.openqa.selenium.chrome.ChromeDriver 能力[{applicationCacheEnabled =假,可旋轉=假,mobileEmulationEnabled =假,networkConnectionEnabled =假,鉻= {chromedriverVersion = 2.25.426923(0390b88869384d6eb0d5d097 29679f934aab9eed),userDataDir = C:\ Users \ sarshad \ AppData \ Local \ Temp \ scoped_dir6280_29240},takesHeapSnapshot = true,pageLoadStrategy = normal,databaseEnabled = false,handlesAlerts = true,hasTouch Screen = false,version = 54.0.2840.71,平臺= XP,browserConnectionEnabled =假,nativeEvents = TRUE,acceptSslCerts = TRUE,locationContextEnabled = TRUE,webStorageEnabled = TRUE,browserName = CHRO 我,takesScreenshot = TRUE,javascriptEnabled = TRUE,cssSelectorsEnabled =真}] 會話ID:fbbb0002ff27c39a173c81cca75088cc *元素信息:{Using = xpath,value =/html/body/div [3]/div/div/div [3]/div/div [3]/div/div [4]/div [2]/div/DIV/DIV [1]/DIV} 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本機方法) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(未知來源) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知來源) 在java.lang.reflect.Constructor.newInstance(Unknown Source) at org.openqa.selenium .remote.ErrorHandler.createThrowable(ErrorHandler.java:206) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java :678) 在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363) 在org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:500) 在org.openqa.selenium 。通過$ ByXPath.findElement(By.java:361) 在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在陽光下。反射.NativeMethodAccessorImpl.invoke(未知來源) at sun.reflect.Delegat ingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.openqa.selenium.support。events.EventFiringWebDriver $ 2.invoke(EventFiringWebDriver.java:103) at com.sun.proxy。$ Proxy1.findElement(Unknown Source) at org.openqa.selenium.support.events.EventFiringWebDriver.findElement(EventFiringWebDriver.java:188 ) 在org.openqa.selenium.remote.server.handler.FindElement.call(FindElement.java:48) 在org.openqa.selenium.remote.server.handler.FindElement.call(FindElement.java:1) 在java.util.concurrent.FutureTask.run(Unknown Source) at org.openqa.selenium.remote.server.DefaultSession $ 1.run(DefaultSession.java:176) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown源代碼) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) at java.lang.Thread.run(Unkno wn Source) 16:45:38.263 WARN - 例外:沒有這樣的元素:無法找到元素:{「method」:「xpath」,「selector」:「/ html/body/div [3]/div/div/(會話信息:chrome = 54.0.2840.71) (Driver(驅動程序))[div] [div] [div] [div] [div] [div] [div] [div] [div] [div] [div] [div] info:chromedriver = 2.25.426923(0390b88869384d6eb0d5d09729679f934aab9eed),platform = Windows NT 6.1.7601 SP1 x86_64)(警告:服務器未提供任何堆棧跟蹤信息) 命令持續時間或超時:5.03秒 有關此錯誤的文檔,請訪問:http://seleniumhq.org/exceptions/no_such_element.html 構建信息:版本:'2.53.0',修訂:'35ae25b',時間:'2016-03-15 17:00:58' 系統信息:主機:'CTV-RLEE',ip:'10 .1 .58.129',os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version:'1.8.0_111' 驅動信息:org.openqa.selenium.chrome.ChromeDriver 能力[{applicationCacheEnabled =假,可旋轉=假,mobileEmulationEnabled =假,networkConnectionEnabled =假,鉻= {chromedriverVersion = 2.25.426923(0390b88869384d6eb0d5d097 29679f934aab9eed),userDataDir = C :\ Users \ sarshad \ AppData \ Local \ Temp \ scoped_dir6280_29240},takesHeapSnapshot = true,pageLoadStrategy = normal,databaseEnabled = false,handlesAlerts = true,hasTouch Screen = false,version = 54.0.2840.71,platform = XP,browserConnectionEnabled = false ,nativeEvents = TRUE,acceptSslCerts = TRUE,locationContextEnabled = TRUE,webStorageEnabled = TRUE,browserName = CHRO 我,takesScreenshot = TRUE,javascriptEnabled = TRUE,cssSelectorsEnabled =真}] 會話ID:fbbb0002ff27c39a173c81cca75088cc *元信息:{使用= xpath,value =/html/body/div [3]/div/div/div [3]/div/div [3]/div/div [4]/div [2]/div/div/div [1 ]/DIV}

回答

1

你應該嘗試使用WebDriverWait等到這個窗口對話框按鈕可見,使上面點擊: -

new WebDriverWait(driver,10).until(ExpectedConditions.ElementToBeClickable(".//div[text()='OK']"))).click();