这是一个跟进到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如何附加运行全部文档中的元素无例外吗?
第一个链接是错误的。 –
道歉,现在工作。 –