這裏的交易:如何搜索文本並填寫/點擊與Selenium的鏈接?
有沒有辦法來搜索輸入名稱或類型女巫是不是精確的,並填寫它?例如,我想用我的電子郵件填寫名稱電子郵件的任何輸入,但我可能有一些名爲電子郵件123,電子郵件,電子郵件等輸入...有沒有辦法做一些事情,如*電子郵件* ?
我怎樣才能點擊一個鏈接驗證一些文本,可能在鏈接上,或上面的鏈接,或關閉,或在類等?
PS:我使用的是硒的IDE與Firefox
這裏的交易:如何搜索文本並填寫/點擊與Selenium的鏈接?
有沒有辦法來搜索輸入名稱或類型女巫是不是精確的,並填寫它?例如,我想用我的電子郵件填寫名稱電子郵件的任何輸入,但我可能有一些名爲電子郵件123,電子郵件,電子郵件等輸入...有沒有辦法做一些事情,如*電子郵件* ?
我怎樣才能點擊一個鏈接驗證一些文本,可能在鏈接上,或上面的鏈接,或關閉,或在類等?
PS:我使用的是硒的IDE與Firefox
您可以使用XPath的東西,如//input[contains(@name,'email')
找到它。如果你有這樣的網頁上這將是值得移動測試到您最喜愛的編程語言,然後做
emailInstances = sel.get_xpath_count("//input[contains(@name,'email')]")
for i in range(int(emailInstances)):
sel.type("//input[contains(@name,'email')]["+ i + 1 +"]","[email protected]address.tld")
多個實例XPath的工作原理以及與上面的解決方案是好的。如果您正在嘗試測試舊版本的IE,您還可以使用JavaScript注入。我發現它非常快,但調試起來可能有點麻煩。我其實沒有檢查,如果下面的作品,但希望它給你的,你可以做些什麼的想法:
String javaScript = "_sl_enterEmailStr = function(parentObj,str) { "+
" var allTags = parentObj.getElementsByTagName('input'); "+
" for (var i = 0; i < allTags.length; ++i) { "+
" var tag = allTags[i]; "+
" if (tag.name && tag.type && tag.type === 'text' "+
" && tag.name.match(/email/)) { "+
" tag.value = str; "+
" } "+
" } "+
"}; "+
"_sl_enterEmailStr(this.browserbot.getCurrentWindow().document "+
" ,'[email protected]'); ";
mySelenium.getEval(javaScript);
我發現JavaScript注入正則表達式允許我做偉大的事情的動態輸入字段。請注意,您可以使用findElement()來更詳細地瞭解您在何處查找標籤。
關於點擊鏈接並獲取文本,這些都是簡單的click()和getText()操作,可以通過正確的定位器完成。我會檢查出硒API。例如,這裏是到Java one for 1.0b2的鏈接。