2016-06-21 67 views
1

HTML of element麻煩的網頁

定位元素硒webdriver的,我試圖找到,然後用這個代碼

driver.findElement(By.name("X")).clear(); 

driver.findElement(By.cssSelector("input[name=X][type=text]")).clear(); 

清除textbox元素給定圖像中但他們都沒有工作,給出錯誤信息:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"name","selector":"X"} 

Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"input[name=X][type=text]"} 

我在做什麼錯誤,以及如何解決這個問題?任何幫助表示讚賞,在此先感謝。

+0

請提供您正在處理的頁面。 –

回答

0

也許有一些JavaScript shenanigans正在進行。嘗試等待要找到的元素。

WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//input[@name='X']"))); 
myDynamicElement.clear(); 
+0

不,它返回此錯誤: 線程「main」中的異常org.openqa.selenium.NoSuchElementException:no such element:無法找到元素:{「method」:「xpath」,「selector」:「// input (驅動程序信息:chromedriver = 2.22.397933(1cab651507b88dec79b2b2a22d1943c01833cc1b),platform = Windows NT 10.0.10586 x86_64)(警告:服務器確實存在)不提供任何堆棧跟蹤信息) 命令持續時間或超時:17毫秒 有關此錯誤的文檔,請訪問:http://seleniumhq.org/exceptions/no_such_element.html –

0

對於你的第二個方法,可以請你試試這個:

driver.findElement(By.cssSelector("input[name='X'][type='text']")).clear(); 

你身邊錯過了單引號input屬性的值。