Я задал этот вопрос и получил одну полезную информацию от Кельвина Шофса о том, что querySelect был лучшим подходом к выбору, поэтому я реализовал его.
var bc = document.querySelectorAll('button.link.event-detail__event-information__event-name-status__grouped-match');
for (var b of bc){
if(b.ariaExpanded=="false"){
b.click();
}
}
Однако, выбор не является моей проблемой и никто не отвечает на вопрос, который я пытаюсь задать. Итак, позвольте мне попробовать это в картинках.
показывает эту страницу с набором шевронов, указывающих вверх, чтобы указать, что эти строки могут быть расширены с дополнительной информацией, а также отметить границу между строками.
показывает инициацию первого из 53 событий щелчка, которые я хочу инициировать.
показывает результаты скрипта. Обратите внимание, что все шевроны теперь направлены вверх, указывая на то, что строка была расширена, а граница между строками устранена, но больше ничего.
показывает пример информации, которая должна была появиться и появляется при физическом нажатии.
Я вошел в код сайта, насколько смог. Я подтвердил, что он идентифицирует правильный элемент и кнопку и собирает правильные данные (вид спорта, дату и т. д.) для извлечения информации, но она никогда не вставляется на страницу. Один фрагмент кода заставил меня задуматься, не создавали ли эти клики последовательную очередь, как я ожидал, и что быстрое выполнение такого количества могло означать, что каждый из них отменял предыдущий. Но когда я выполнил щелчок только для одной строки, поведение было таким же (шеврон переворачивается и граница исчезает, но нет данных).
Когда я пытался работать с кодом сайта, там была подпрограмма (ft(e) и Un(), если кто-то на самом деле собирается посмотреть), где собираются различные физические данные мыши (клиент/экранX/Y, состояния клавиш , и т.д.). Итак, я попытаюсь в последний раз задать вопрос, который постоянно задаю. Есть ли что-то, что отличает клик сценария от физического? Если да, то есть ли обходной путь?
Я почти не могу пользоваться руками, и мне очень помогает автоматизация взаимодействия с веб-страницами. Это всегда было легко с VB6/IE. Но, конечно, это больше не работает со многими веб-сайтами HTML5. Поэтому я пытаюсь изучить JavaScript, но я не хочу тратить свое время, если такая автоматизация больше невозможна.
Я был бы очень признателен за помощь.
Он действительно выполняет щелчок? Можете ли вы попробовать поместить журнал консоли в оператор if?
В приведенном вами примере нет кнопки, соответствующей вашим условиям на
className
при нажатии вручную изображение кнопки переворачивается вверх дном (чтобы указать, что щелчок будет сокращаться), и область расширяется за счет дополнительных элементов. Щелчок по фрагменту просто приводит к тому, что изображение переворачивается, но никаких дополнительных элементов не появляется. Я не понимаю, почему «программный щелчок» будет вести себя иначе, чем ручной.
когда я показываю эту страницу, есть соответствующие кнопки (50 с чем-то), и эта графика переворачивается при выполнении кода.
Я думаю, вы можете найти полезную информацию здесь (ванильный JavaScript), здесь (jQuery), здесь (снова jQuery)
Это потенциально очень полезно, но почему, когда я ищу «различный физический клик по скрипту», ни один из них не отображается в результатах?
И как мне отдать должное человеку, который указал мне на ответ?
Я не знаю, почему эти ссылки не появились в результатах поиска; Я нашел их с помощью исследования Google для «javascript различает событие физического клика и программный клик ». В любом случае, главное, что теперь у вас есть важная информация, которую вы можете использовать. Вы можете отдать должное ребятам, которые написали полезные ответы, нажав на стрелку/треугольник над подсчетом голосов в верхнем левом углу каждого ответа. Вместо этого, если вы имели в виду меня, не нужно отдавать должное; Я просто указал вам на ответы других людей.