2017-10-29 81 views
1

phptravels location text field如何将值发送到selenium webdriver中没有输入标识的文本框?我正在使用phptravles.net进行测试?

附上了带有HTML代码的图像。 我无法写一个xpath来识别和发送密钥。 文本字段在焦点和不在时有不同的xpath。 它抛出我NoSuchElementFound异常。

driver.get("http://www.phptravels.net"); 
WebElement e = driver.findElement(By.xpath("//*[@id='select2-search']/input")); 
    e.click(); 
    e.sendKeys(city); 
+0

你能分享你的HTML代码吗? –

回答

0

可以使用该元素的其他属性等

//输入[含有(@attribute, 'ATTRIBUTE_VALUE')]

例如创建的xpath。对于类属性“文本框”输入单元,XPath的可以这样写

//输入[包含(@类,“文字框”)

+0

我用类属性写了一个xpath,但是它抛出了一个NosuchElementFound异常。此外,文本字段在关注时具有不同的xpath。 driver.get(“http://www.phptravels.net”); WebElement e = driver.findElement(By.xpath(“// * [@ id ='select2-search']/input”)); \t \t e.click(); \t \t e.sendKeys(city); –

0

我试着用下面两点和它的工作对我来说, 1)使用span文本修改xpath() 2)而不是e.sendKeys(),尝试actions.sendKeys()作为前者抛出“无法聚焦”的错误。贷款到link

 driver.get("http://www.phptravels.net"); 
     WebElement e = driver.findElement(By.xpath("//span[text()='Search by Hotel or City Name']")); 
/*  e.click(); 
     e.sendKeys("GOA"); 
*/ 
     Actions actions = new Actions(driver); 
     actions.moveToElement(e); 
     actions.click(); 
     actions.sendKeys("GOA"); 
     actions.build().perform(); 
相关问题