Хочу написать и отправить комментарий с помощью javascript в instagram. Но проблема в том, что не хочет отправляться.
Написал код таким образом:
//В форму добавляем комментарий
document.getElementsByClassName('Ypffh')[0].textContent = "Это комментарий!";
//Ждем пару секунд
setTimeout(function() {
//убираем disabled из формы отправки
document.querySelector("#react-root > section > main > section > div:nth-child(1) > div > article:nth-child(1) > div.eo2As > section.sH9wk._JgwE > div > form > button").disabled = true;
//нажимаем отправить
document.querySelector("#react-root > section > main > section > div:nth-child(1) > div > article:nth-child(1) > div.eo2As > section.sH9wk._JgwE > div > form > button").click();
}, 2000);
Но не реагирует instagram. Почему комментарий в instagram не отправляется с помощью javascript? (может чего-то не хватает)
Долго ломал голову, но все же нашел решение. Работает в мобильной версии.
У каждого элемента, которым "владеет" реакт есть метод __reactInternalInstance$XXXXXX
. В нем можно найти много интересного, в том числе и пропсы и хэндлеры элемента. К onChange
мы и будем обращаться. Сначала нажимаем на кнопку комментария. Затем вычленим из textarea
этот метод (__reactInternalInstance$XXXXXX
), затем в его пропсах найдем onChange
и передадим ему "искусственный" объект события {target:{value:"Это коммент"}}
. Реакт подумает, что мы что-то пишем и все сделаем за нас. Кнопка активируется и мы на нее нажмем. Зайди на страницу с постом и выполни код. Если что-то непонятно - спрашивай.
window.FindReact = function(dom) {
for (var key in dom) {
if (key.startsWith("__reactInternalInstance$")) {
return dom[key];
}
}
return null;
};
document.querySelector("#react-root > section > main > div > div:nth-child(1) > article:nth-child(1) > div > section > span:nth-child(2) > button").click();
setTimeout(() => {
FindReact(document.querySelector("#react-root > section > main > div > div:nth-child(1) > article:nth-child(1) > div > section > div > form > textarea")).memoizedProps.onChange({
target: {
value: "Это коммент"
}
});
document.querySelector("#react-root > section > main > div > div:nth-child(1) > article:nth-child(1) > div > section > div > form > button").click();
}, 1000);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть jquerymaskedinput с помощью которой создана маска для input с классом "nic" для ввода значений в формате 1234 х 1234 х 1234
в классе Game я создаю каркас html для мини игрыВопрос: все "переменные" (this
Есть подобный календарь+расписаниеРасписание разделено на "утро" и "день"