кукловод получает значение флажка профиля Instagram - HTML не меняется - PullRequest
0 голосов
/ 16 октября 2019

Изучение кукловода ... думал, что Instagram будет хорошей отправной точкой.

Попытка проверить, настроена ли моя учетная запись в Instagram как «Личная учетная запись» в разделе Конфиденциальность и безопасность . Я путаюсь с тем, что HTML-код для проверенных и непроверенных примерно одинаков:

Проверено:

enter image description here

<div class="qlmO5"><div class="bGWmh" id="accountPrivacy"><label class="U17kh PLphk" for="f2ef028392b78b8"><input class="tlZCJ" id="f2ef028392b78b8" type="checkbox" value="" checked=""><div class="mwD2G"></div>Private Account</label></div></div>

Не проверено:

enter image description here

<div class="qlmO5"><div class="bGWmh" id="accountPrivacy"><label class="U17kh PLphk" for="f111b1f63405c24"><input class="tlZCJ" id="f111b1f63405c24" type="checkbox" value="" checked=""><div class="mwD2G"></div>Private Account</label></div></div>

Я подумал, что это может быть значение <input> id, но оно не изменяется в зависимости от значенияфлажок. Я также попытался развести весь html проверенных и непроверенных, и они были идентичны.

В этом случае я должен сделать снимок экрана и посмотреть, могу ли я сопоставить изображение «☑ Личный счет»? Я чувствую, что это возможно, но не обязательно.

1 Ответ

1 голос
/ 16 октября 2019

HTML действительно идентичен в обоих случаях, но дерево DOM - нет. Когда флажок для частной учетной записи установлен, элемент .mwD2G получает элемент :before, который выполняет стилизацию, поэтому вы можете проверить его в page.evaluate:

window.getComputedStyle(document.querySelector(".mwD2G"), ":before").getPropertyValue("content")

Так что, если полеотмечен, результат запроса " ", если не отмечен, none.

const privateProfile = await page.evaluate(() =>
    window.getComputedStyle(document.querySelector(".mwD2G"), ":before")
    .getPropertyValue("content") === "none" ? false : true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...