2017-10-29 79 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(); 
相關問題