2012-04-23 84 views
5

我想在帶selenium網絡驅動程序的文本框中鍵入符號「&」。但是,輸入「與」符號時,硒-2從鍵入框中消失了。我的命令是,self.type(「&」:更新=>真)無法在Selenium-2中輸入&符號「&」

我知道,在硒,密鑰在UTF_8格式發送,我試圖發送的符號等同,但行爲仍是相同的(如預期)。我知道XML或HTML支持帶有特殊轉義字符的&符號。我想知道有沒有辦法在send_keys或type_keys命令中用一些轉義序列(如HTML代碼)「&」或「&」替換&符號?

或者還有什麼其他方式可以在selenium-2文本框中鍵入&符號「&」嗎?

請讓我知道您的建議。

感謝, 斯里蘭卡

回答

0

至於說here, 「&」 是符號的HTML實體。試試看。

但是,我能夠通過WebDriver和Java放置一個沒有問題的&符號。嘗試一些其他的輸入,看看它是不是本地的問題...

+0

我與@ user1352389有同樣的問題,我也認爲'&'會有所幫助,但事實並非如此。我試圖:'$ searchBox-> send_keys(「bath & body」); $ searchBox-> send_keys(webdriver的:: ReturnKey());' – Ryan 2012-08-10 23:26:53

2

我花了幾個小時在這個多天,最終@Asaph告訴我「暫時刪除所有的JavaScript,看看是否是什麼導致&符號消失。「他是對的。現在$searchBox->send_keys("bath & body");工作正常。

我最終將其縮小到Jquery-ui Autocomplete的一部分,這是干擾。此屬性: source:function(request, response) { //implementation removed } 所有其他的JavaScript可以留在原地,並正常工作。我現在想弄清楚爲什麼Jquery-ui> Autocomplete> Source與WebDriver發生衝突並查看是否有解決方法。

0

我遇到了同樣的問題,並通過執行JavaScript而不是使用Selenium SendKeys方法來解決它。

IJavaScriptExecutor jsExec =(IJavaScriptExecutor)webDriver; (「your-input-id-here」)。
=「+ JsonConvert.SerializeObject(yourValueHere));

JsonConvert.SerializeObject()來自JSON.NET,這是對JavaScript中使用的字符串值進行編碼的便捷方式。但是你可以用任何在JavaScript中正確格式化的方式來編碼你的字符串值。

0

我的要求是在文本字段中輸入「R & d」,在代碼下面試過,它工作正常。

textBox.sendKeys("R/&d") 
textBox.sendKeys(Keys.LEFT); 
textBox.sendKeys(Keys.LEFT); 
textBox.sendKeys(Keys.BACK_SPACE); 
0

嘿,我解決了它第一次使之從的Adroid驅動

接下來,我在谷歌鍵盤手機中手動切換這是設定appium鍵盤 Appium司機後來我就躲在鍵盤和它爲我工作。

非常感謝您在那裏。