這是一個跟進到this question.如何捕捉用戶用JavaScript點擊的* ANY *元素?
這個想法是讓用戶通過JavaScript在Firefox瀏覽器中單擊的位置。 從命名的問題開始,以下的JavaScript代碼幾乎做的:
var DocElements = document.getElementsByTagName('*');for(var i = 0; i < DocElements.length; i++){DocElements[i].onclick = function clicked(MyElement){var target = (MyElement.target) ? MyElement.target : MyElement.srcElement;var e = document.createElement('a'); e.setAttribute('id','myUniqueID'); e.setAttribute('value', this); target.appendChild(e);};}
該腳本將ID爲「myUniqueID」中的任何元素點擊,則該腳本可以檢索通過執行點擊的文檔的子以下蟒蛇代碼:
resultss=browser.driver.find_element_by_id("myUniqueID") #This uses selenium driver engine.
resultss.find_element_by_xpath("..") #This gets the parent node of selected one
JS代碼的目的是挑選任何元素點擊網站上,通過追加本身在HTML代碼中的所有項目:
document.getElementsByTagName('*')
但是這個腳本失敗了,因爲它無法選取所有的元素。例如,如果您點擊月/性別表格in google signup page,然後選擇一個月,它將選擇代表所選月份的元素,但不會檢測到第一次點擊the form。因此,getElementsByTagName('*')不會選取網站中的所有元素。
Javascript如何附加運行全部文檔中的元素無例外嗎?
第一個鏈接是錯誤的。 –
道歉,現在工作。 –