2013-05-13 4 views
6

Я ищу функцию в javascript, которая нажимает на каждый элемент (ссылки, кнопки, ...) на моей странице. По умолчанию все элементы должны быть отключены. Я использую это для своей тестовой среды в Selenium, чтобы проверить, отключены ли все элементы на моей странице.Выбрать все Elements на странице

+0

Что вы пробовали? –

+0

Я пытался получить все ссылки с функцией, предоставляемой из selenium: selenium.getAllLinks(), и я попытался щелкнуть(). Также с getAllLinks() я не могу получить ссылку ... – John

ответ

7

Во-первых, получить все элементы на странице:

var elements = document.getElementsByTagName("*"); 

Теперь, когда вы получаете их, сделать мышь-событие, сделать петлю и применить событие на каждом элементе:

var clickEvent = document.createEvent ('MouseEvents'); 
clickEvent.initEvent ('click', true, true); 
for (var i=0; i < elements.length; i++) 
{  
    elements[i].dispatchEvent (clickEvent); 
} 
+0

Эй! Спасибо за быстрый ответ! Я могу следить за вашим кодом, и это делает меня ко мне. К сожалению, я не могу получить какой-либо элемент из document.getElementsByTagName ("*"); – John

+0

Я изменил некоторые опечатки в коде, возможно, теперь он работает лучше? Также убедитесь, что вы вызываете функцию, которая будет проверять клики ПОСЛЕ загрузки документа. Если я помещаю его в оператор onLoad тела, мой код работает отлично! – JasperV

+0

Итак, если вы выполняете код, который ваш браузер нажимает на каждую ссылку? Ну, на самом деле, если ссылки активны, первая ссылка, которая была нажата, должна перенаправить вас на следующую страницу. Если ссылки отключены, ничего не должно произойти. Вот как я ожидаю, что это сработает. Однако теперь я могу получить ссылки на страницу с помощью selenium.getAllLinks. Хотя, clickEvent, похоже, ничего не делает. – John

Смежные вопросы