2016-05-03 69 views
0

我是新來的硒,我試圖自動在谷歌瀏覽器上的Facebook註冊。我已經設置了eclipse & Chrome驅動程序並創建了所有的jar文件。現在我複製的XPath通過檢查元素選項在Facebook頁面的文本框,並粘貼元素中的XPath如下:driver.findby令牌上的語法錯誤Xpath

driver.findElement(By.xpath("//*[@id="email"]]")).sendkeys("user1"); 

但我正在逐漸在這兩個錯誤。 1是分配的左側必須是可變的。 2.是令牌「email」上的語法錯誤。

我也嘗試下面的語法:

WebElement el = driver.findElement(By.xpath("//[@id="email"]")).sendkeys("user1"); 

但那不是工作壓力太大。請讓我知道我在這裏錯過了什麼。

回答

2

它應該是"//*[@id='email']"圍繞「電子郵件」單引號。這也應該是sendKeys資本 'K'

driver.findElement(By.xpath("//*[@id='email']")).sendKeys("user1"); 
+0

謝謝..我所做的更改。 WebElement el = driver.findElement(By.xpath(「// [@ id ='email']」))。sendKeys(「user1」);沒有工作。它拋出了一個錯誤「類型不匹配,無法從void轉換爲WebElement」,所以我寫道,WebElement el = driver.findElement(By.xpath(「// [@ id ='email']」)); \t \t el.sendKeys(「TestUser」); 但是這沒有找到正確的文本框並輸入它。爲什麼你認爲? –

+1

這是無效的XPath。也許你的意思是:'// * [@ id ='email']' – har07

+0

@ har07我沒有注意到,謝謝。 – Guy

0

嘗試通過使用此cssSelector:

Thread.sleep(5000);   
driver.findElement(By.cssSelector("input.inputtext#email")).sendKeys("abc"); 
+0

謝謝..這工作!但爲什麼我不能使用xpath和自動化?它必須是cssSelector嗎? –

+0

有很多替代元素。如果xpath不起作用,你可以使用cssSelector,或者你可以使用id或者u可以使用classname,或者你可以使用name和更多。所以,如果你堅持一個人,嘗試與其他人。你不必使用xpath。有時它並沒有給你確切的元素。 – noor

+0

雅有你的觀點..但是我們怎麼知道,哪個是最好的定位器?它是否必須是試錯法,或者我們對此有任何訣竅?我的意思是有沒有一種技術可以使用正確的定位器或其與練習一起使用的東西? –

相關問題