2016-06-21 152 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属性的值。