1 - querySelector и querySelectorAll. Полный контроль над страницей.

После того как вы научились писать самые простые команды из файла iim в файл js вы рано или поздно сталкнетесь с необходимостью работать с кодом страницы браузера. На сайте СисTема в материале для изучения я затронул несколько вариантов взаимодействия. Такие как getElementsByClassName, getElementById и т.д, и вы скорее всего уже столкнулись с тем, как сложно с ними работать. Но есть альтернативный универсальный вариант, который перекроет все потребности. Это querySelector и querySelectorAll. Дочитайте обязательно этот пост до конца, и ваша пленочка порвется, потому что это скорее всего то, чего вам не хватало. Вот простые примеры взаимодействия с названием этого сайта на этой странице:

iimPlayCode('URL GOTO=http://sistem.in.ua')
iimDisplay(content.document.querySelector('#header.fix h2.blogtitle a').innerHTML) // выведет ссылку СисТема(надпись в header)
iimDisplay(content.document.querySelector('#header.fix h2.blogtitle a').href) // выведет ссылку http://sistem.in.ua/ (ссылку в header)
content.document.querySelector('#header.fix h2.blogtitle a').click() // клик на заголовок сайта(header)
iimDisplay(content.document.querySelector('header.fix').id) // выведет id header этого сайта
iimDisplay(content.document.querySelectorAll('a').length)// 57 считаем количество элементов, которые имеют атрибут a (количество ссылок на странице)

Это может показаться довольно непонятным, но все на самом деле просто. content.document.querySelector это доступ к элементу, на который мы попадаем по группе селекторов которые указаны в кавычках. Для того чтоб узнать эту группу, достаточно кликнуть на элементе страницы правой кнопкой мышки, выбрать "Икспектировать элемент с помощью Firebag", и на подсвеченной строке в коде выбрать "Скопировать CSS-путь"(смотрите видео) Вот и все, вся группа селекторов окажется в буфере. Теперь если ее подставить в ковычки querySelector мы можем делать с ним все что угодно. Эксперементировать можно в пробном файле. Желательно только удалить лишние селекторы чтоб строка не была очень длинная.

Если  querySelector возвращает первый элемент на странице который совпадает по селекторам, то querySelectorAll возвращает список всех элементов, и это иногда очень полезно. Они возвращаются в объекте типа NodeList, он имеет свойства, схожие с массивом, но это не массив. Поэтому предлагаю простенькую функцию, которая может сложить в массив все элементы возвращаемого объекта:

iimPlayCode('URL GOTO=http://sistem.in.ua')
function returnArr(selectors, prop){// функция объект в массив 
var arrUrl=[]// создаем пустой массив
for(var n=0;n<selectors.length;n++){ // задаем цикл, по количеству нужных элементов на странице
arrUrl.push(selectors[n][prop]) // вытягиваем элемент и добавляем в массив
}
return arrUrl //возвращаем массив
}
var arr = returnArr(content.document.querySelectorAll('a'), 'href') // ложим то что вернет функция в переменную
iimDisplay(arr)

https://www.youtube.com/watch?v=rM_rFI_Jo7I

2 - querySelector и querySelectorAll. Полный контроль над страницей.

Добрый день!
Отличный сайт! Замечательный форум!!
Уважаемый админ!
Подскажите пожалуйста!
При использовании querySelector, вот в таком выражении -
var balance = content.document.querySelector('span.balance').innerHTML;
иногда выскакивает ошибка "querySelector is null" , и скрипт останавливается!!!(не нашёл...не успел подгрузить....и.т.п)
Как избежать остановки скрипта!!! Надо что бы скрипт игнорировал такого рода ошибки и продолжал работу!!!

3 - querySelector и querySelectorAll. Полный контроль над страницей.

Diss787 пишет

Добрый день!
Отличный сайт! Замечательный форум!!
Уважаемый админ!
Подскажите пожалуйста!
При использовании querySelector, вот в таком выражении -
var balance = content.document.querySelector('span.balance').innerHTML;
иногда выскакивает ошибка "querySelector is null" , и скрипт останавливается!!!(не нашёл...не успел подгрузить....и.т.п)
Как избежать остановки скрипта!!! Надо что бы скрипт игнорировал такого рода ошибки и продолжал работу!!!

if(content.document.querySelector('span.balance'))var balance = content.document.querySelector('span.balance').innerHTML;

Ученье - путь к уменью.

4 - querySelector и querySelectorAll. Полный контроль над страницей.

Zizya пишет

if(content.document.querySelector('span.balance'))var balance = content.document.querySelector('span.balance').innerHTML;

а еще с этими баллансами лучше вначале скрипта объявить переменную:
var balance = 0
а потом уже настранице искать ее так
if(content.document.querySelector('span.balance'))balance = content.document.querySelector('span.balance').innerHTML;
так если балланс будет найден, то его можно приплюсовать к общему баллансу за запуск. Цифра нужная. И еще у меня было несколько показателей, например скорость сбора. Формула такая: то сколько всего собрано за запуск делем на разницу  между временем на данный момент и временем старта. Это у меня был самый важный показатель, называется скорость сбора. На каждом кране он разный, и по нему можно определять рентабельность крана.
и еще забыл добавить что балланс нужно вытягивать до сбора и после и отнимать

5 - querySelector и querySelectorAll. Полный контроль над страницей.

Спасибо за быстрый и грамотный и подробный ответ!
Что довольно редко встречается!!!
Я уже с пол года интересуюсь всей этой темой! Есть свои наработки, но наверное "немного" отстаю от вас!
Хотел бы в голосе в скайпе пообщаться!
Скайп мой zav314  ,  может и я чем то полезен буду ........
А для форума хотел бы посоветовать рубрику по работе с " батниками" (для организации работы зачастую без них не обойтись)
А там я бы мог и свои небольшие полезные наработки выложить!

6 - querySelector и querySelectorAll. Полный контроль над страницей.

Вам от участников форума будет большое спасибо. Это то что нужно. Вот вывел ветку http://forum.sistem.in.ua/viewforum.php?id=12
Можете добавлять туда свои темы

7 - querySelector и querySelectorAll. Полный контроль над страницей.

Привет всем. Как можно проще записать вот такой селектор ?

content.document.querySelectorAll('#DataTables_Table_0.table tbody tr')[0]('td')[2]('div')[0]('div iframe'); //так не работает

В одни скобки можно записать такой путь?

8 - querySelector и querySelectorAll. Полный контроль над страницей.

RISEVIK пишет

Привет всем. Как можно проще записать вот такой селектор ?

content.document.querySelectorAll('#DataTables_Table_0.table tbody tr')[0]('td')[2]('div')[0]('div iframe'); //так не работает

В одни скобки можно записать такой путь?

ну нужно запустить

 alert(content.document.querySelectorAll('iframe').length)

и посмотреть сколько там фреймов вообще. Может он там один. Или имена у них есть, или какие-то опознавательные знаки

9 - querySelector и querySelectorAll. Полный контроль над страницей.

Просто со старого форума забыл как вытягивал name. Да, показал 10 iframe . Я поставил [0] и name. Получилось:

 alert(content.document.querySelectorAll('iframe')[0].name)

Теперь показывает то что надо, пример: fXD75e7f
Спс.

10 - querySelector и querySelectorAll. Полный контроль над страницей.

предпочитаю работать напрямую с єлементами ДОМ , как правило у нужного єлемента есть class или id
тогда в ход идут ф-ции

function GetId(s) {return content.document.getElementById(s) } // get element by Id
function GetClass(s) {return content.document.getElementsByClassName(s) } // get elementS  by class

но не всегда они спасают , тогда в ход идут селекторы - те вытаскивают все ))....

Telegram: @FastLiker

11 - querySelector и querySelectorAll. Полный контроль над страницей.

Согласен content.document.getElementsBy...  еще и работает быстрее.

Ученье - путь к уменью.

12 - querySelector и querySelectorAll. Полный контроль над страницей. (2017-04-17 19:23:21 отредактировано RISEVIK)

Привет всем. Ребята, как обратится( вытащить селектором) к строке, если в коде страницы содержится несколько <!DOCTYPE html>? В моем случае строка находится в третьем <!DOCTYPE html>. Когда нажимаешь скопировать CSS путь, то он ее не видит, а видит только то что находится в первом <!DOCTYPE html>.

13 - querySelector и querySelectorAll. Полный контроль над страницей.

RISEVIK пишет

Привет всем. Ребята, как обратится( вытащить селектором) к строке, если в коде страницы содержится несколько <!DOCTYPE html>? В моем случае строка находится в третьем <!DOCTYPE html>. Когда нажимаешь скопировать CSS путь, то он ее не видит, а видит только то что находится в первом <!DOCTYPE html>.

Это называется фрэйм и обращаться к нему:

window.frames[1].document.body.innerHTML)// вывод html из 1 фрейма (если есть)
Ученье - путь к уменью.

14 - querySelector и querySelectorAll. Полный контроль над страницей.

Zizya пишет

window.frames[1].document.body.innerHTML)// вывод html из 1 фрейма (если есть)

Эта команда выводит на экран скрипты.
Вобщем сайт freedoge.co.in мне присылает пустые капчи солвемедиа. Хочу создать условие на обновить капчу пока не появится картинка. Но не могу обратится к этой строке(строка будет выделена жирным) в третьем html:
Вот весь код:

Скрытый текст

<!DOCTYPE html>
<html class=" js no-touch svg inlinesvg svgclippaths no-ie8compat" lang="en" style="">
<head>
<body>
<div class="large-12 fixed">
<div class="row" style="margin-top:45px;">
<div class="large-12 large-centered small-12 small-centered columns" style="margin:0 !important; padding:0 !important;">
<div id="main_content" class="large-9 small-7 large-centered new_border_shadow columns">
<script>
<div class="row center" style="margin:0; padding-top:10px;">
<div id="free_play_tab" class="page_tabs free_play_tab_container_div">
<div id="top_user_ads_container" align="center">
<div id="free_play_payout_table" align="center">
<div id="box_ad_middle" class="wx3uoH4d">
<div id="free_play" class="free_play_element" align="center">
<div id="free_play_form">
<input id="free_play_op" type="hidden" value="free_play" name="op">
<input id="a74c4ef9f" type="hidden" value="6fbfb526de76cc576eeb22eab1c290aa5e4828705a2c2343353fb07206b1571b" name="a74c4ef9f">
<div align="center">
<div id="free_play_captchas_recaptcha_v2" class="free_play_captchas" align="center" style="display: none;">
<div id="free_play_captchas_solvemedia" class="free_play_captchas" align="center" style="">
<script src="https://api-secure.solvemedia.com/papi/challenge.script?k=G9RY74Nk2BDiyQAuYhf2isha2q6M4gK5" type="text/javascript">
<script src="//api-secure.solvemedia.com/papi/_puzzle.js" type="text/javascript">
<style type="text/css">
<div id="adcopy-outer">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="3">
<div id="adcopy-puzzle-image" style="height: 150px; width: 300px; text-align: left;">
<div id="adcopy-puzzle-image-image">
<iframe id="adcopy-unique-1492521625360" width="300" scrolling="no" height="150" frameborder="0" src="//api-secure.solvemedia.com/papi/media?c=2@G9RY74Nk2BDiyQAuYhf2isha2q6M4gK5@XMNd9NpCqCgENU8bgrS5GH9APTC4lJjokeDY75inMYwIKv0aHNjb0XvbxIXCn9rsQX5lD-11vAkJBl.T0dle5wIgVpdrETehGPqenLEvB9VTGVlv02TET1x4l3ZO1VISh5GLVCPbh0d9dRwf-3ifyEXI2zFU7EMhQ7N7EWA8Tc.dxiAM2-a.s0jHMVEoNq03VZaCRZ8mC.DeX35iM0h2HR7gF50aYB5C-amTRvry9aGugnqAJYuFWOXUQcbzu3ITlFzCy.qW8Bh.D.KtTGFOzoq9mIfxE4LCJkhFXIK0uoA;w=300;h=150;fg=000000;bg=f8f8f8">
<!DOCTYPE html>
<html>
<head>
<body>
<iframe id="iframe1" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" seamless="">
<!DOCTYPE html>
<html>
<head>
<body>
<div style="overflow:hidden; width:300px; height:150px;">
</body>
</html>
</iframe>
<div id="overlay"></div>
<div id="loading" class="ribbon">...</div>
<div id="captcha"></div>
<script type="text/javascript">
</body>
</html>
</iframe>
</div>
</div>
</td>
</tr>
<tr id="adcopy-instr-row">
<tr>
</tbody>
</table>
</div>
</div>
<p>Captcha difficult to read? Select a different type below:</p>
<p>
</div>
</div>
</div>
<div id="free_play_digits" class="center" style="display:none;"></div>
<div id="free_play_result" class="center free_play_result_container_div" style="display:none;">
<p id="free_play_error" class="free_play_element" style="display:none;"></p>
<div class="free_play_element" align="center">
<div id="wait" align="center" style="display:none;">
<a class="show_multiply_modal" style="display:none;" data-reveal-id="myModal22" href="javascript:void(0);"></a>
<p>
</div>
<div id="double_your_doge_tab" class="page_tabs" style="display:none;">
<div id="faq_tab" class="page_tabs" align="center" style="display:none;">
<div id="refer_tab" class="page_tabs" align="center" style="display:none;">
<div id="edit_tab" class="page_tabs" style="display:none;">
<div align="center">
<div id="bottom_user_ads_container" align="center" style="padding-bottom:10px;"></div>
<div align="center">
</div>
</div>
</div>
<div id="myModal2" class="reveal-modal">
<div id="myModal4" class="reveal-modal">
<div id="myModal_auto_play" class="reveal-modal" style="padding:0 !important; border-radius:10px;">
<div id="myModal6" class="reveal-modal">
<div id="myModal8" class="reveal-modal">
<div id="myModal9" class="reveal-modal">
<div id="myModal19" class="reveal-modal">
<div id="myModal20" class="reveal-modal">
<div id="myModal22" class="reveal-modal" data-options="closeOnBackgroundClick:false">
<div class="reveal-modal-bg" style="display: none"></div>
<script src="//static5.freedoge.co.in/min/combined_bottom1383555676.js">
<script src="//static6.freedoge.co.in/min/socket.io-1.3.5.js">
<script src="//static7.freedoge.co.in/min/jquery.dataTables.min.js">
<script>
<script>
<script>
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<script src="//static8.freedoge.co.in/min/crypto_functions2.js">
<script>
<script async="" src="https://data-secure.circulate.com/dapi/collect">
<script type="text/javascript">
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js" type="text/javascript">
<div style="background-color: #fff; border: 1px solid #ccc; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2); position: absolute; left: 0px; top: -10000px; transition: visibility 0s linear 0.3s, opacity 0.3s linear; opacity: 0; visibility: hidden; z-index: 2000000000;">
</body>
<iframe style="display: none;" src="">
</html>

15 - querySelector и querySelectorAll. Полный контроль над страницей.

RISEVIK пишет
Zizya пишет

window.frames[1].document.body.innerHTML)// вывод html из 1 фрейма (если есть)

Эта команда выводит на экран скрипты.
Вобщем сайт freedoge.co.in мне присылает пустые капчи солвемедиа. Хочу создать условие на обновить капчу пока не появится картинка. Но не могу обратится к этой строке(строка будет выделена жирным) в третьем html:
Вот весь код:

Скрытый текст

<!DOCTYPE html>
<html class=" js no-touch svg inlinesvg svgclippaths no-ie8compat" lang="en" style="">
<head>
<body>
<div class="large-12 fixed">
<div class="row" style="margin-top:45px;">
<div class="large-12 large-centered small-12 small-centered columns" style="margin:0 !important; padding:0 !important;">
<div id="main_content" class="large-9 small-7 large-centered new_border_shadow columns">
<script>
<div class="row center" style="margin:0; padding-top:10px;">
<div id="free_play_tab" class="page_tabs free_play_tab_container_div">
<div id="top_user_ads_container" align="center">
<div id="free_play_payout_table" align="center">
<div id="box_ad_middle" class="wx3uoH4d">
<div id="free_play" class="free_play_element" align="center">
<div id="free_play_form">
<input id="free_play_op" type="hidden" value="free_play" name="op">
<input id="a74c4ef9f" type="hidden" value="6fbfb526de76cc576eeb22eab1c290aa5e4828705a2c2343353fb07206b1571b" name="a74c4ef9f">
<div align="center">
<div id="free_play_captchas_recaptcha_v2" class="free_play_captchas" align="center" style="display: none;">
<div id="free_play_captchas_solvemedia" class="free_play_captchas" align="center" style="">
<script src="https://api-secure.solvemedia.com/papi/challenge.script?k=G9RY74Nk2BDiyQAuYhf2isha2q6M4gK5" type="text/javascript">
<script src="//api-secure.solvemedia.com/papi/_puzzle.js" type="text/javascript">
<style type="text/css">
<div id="adcopy-outer">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="3">
<div id="adcopy-puzzle-image" style="height: 150px; width: 300px; text-align: left;">
<div id="adcopy-puzzle-image-image">
<iframe id="adcopy-unique-1492521625360" width="300" scrolling="no" height="150" frameborder="0" src="//api-secure.solvemedia.com/papi/media?c=2@G9RY74Nk2BDiyQAuYhf2isha2q6M4gK5@XMNd9NpCqCgENU8bgrS5GH9APTC4lJjokeDY75inMYwIKv0aHNjb0XvbxIXCn9rsQX5lD-11vAkJBl.T0dle5wIgVpdrETehGPqenLEvB9VTGVlv02TET1x4l3ZO1VISh5GLVCPbh0d9dRwf-3ifyEXI2zFU7EMhQ7N7EWA8Tc.dxiAM2-a.s0jHMVEoNq03VZaCRZ8mC.DeX35iM0h2HR7gF50aYB5C-amTRvry9aGugnqAJYuFWOXUQcbzu3ITlFzCy.qW8Bh.D.KtTGFOzoq9mIfxE4LCJkhFXIK0uoA;w=300;h=150;fg=000000;bg=f8f8f8">
<!DOCTYPE html>
<html>
<head>
<body>
<iframe id="iframe1" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" seamless="">
<!DOCTYPE html>
<html>
<head>
<body>
<div style="overflow:hidden; width:300px; height:150px;">
</body>
</html>
</iframe>
<div id="overlay"></div>
<div id="loading" class="ribbon">...</div>
<div id="captcha"></div>
<script type="text/javascript">
</body>
</html>
</iframe>
</div>
</div>
</td>
</tr>
<tr id="adcopy-instr-row">
<tr>
</tbody>
</table>
</div>
</div>
<p>Captcha difficult to read? Select a different type below:</p>
<p>
</div>
</div>
</div>
<div id="free_play_digits" class="center" style="display:none;"></div>
<div id="free_play_result" class="center free_play_result_container_div" style="display:none;">
<p id="free_play_error" class="free_play_element" style="display:none;"></p>
<div class="free_play_element" align="center">
<div id="wait" align="center" style="display:none;">
<a class="show_multiply_modal" style="display:none;" data-reveal-id="myModal22" href="javascript:void(0);"></a>
<p>
</div>
<div id="double_your_doge_tab" class="page_tabs" style="display:none;">
<div id="faq_tab" class="page_tabs" align="center" style="display:none;">
<div id="refer_tab" class="page_tabs" align="center" style="display:none;">
<div id="edit_tab" class="page_tabs" style="display:none;">
<div align="center">
<div id="bottom_user_ads_container" align="center" style="padding-bottom:10px;"></div>
<div align="center">
</div>
</div>
</div>
<div id="myModal2" class="reveal-modal">
<div id="myModal4" class="reveal-modal">
<div id="myModal_auto_play" class="reveal-modal" style="padding:0 !important; border-radius:10px;">
<div id="myModal6" class="reveal-modal">
<div id="myModal8" class="reveal-modal">
<div id="myModal9" class="reveal-modal">
<div id="myModal19" class="reveal-modal">
<div id="myModal20" class="reveal-modal">
<div id="myModal22" class="reveal-modal" data-options="closeOnBackgroundClick:false">
<div class="reveal-modal-bg" style="display: none"></div>
<script src="//static5.freedoge.co.in/min/combined_bottom1383555676.js">
<script src="//static6.freedoge.co.in/min/socket.io-1.3.5.js">
<script src="//static7.freedoge.co.in/min/jquery.dataTables.min.js">
<script>
<script>
<script>
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<script src="//static8.freedoge.co.in/min/crypto_functions2.js">
<script>
<script async="" src="https://data-secure.circulate.com/dapi/collect">
<script type="text/javascript">
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js" type="text/javascript">
<div style="background-color: #fff; border: 1px solid #ccc; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2); position: absolute; left: 0px; top: -10000px; transition: visibility 0s linear 0.3s, opacity 0.3s linear; opacity: 0; visibility: hidden; z-index: 2000000000;">
</body>
<iframe style="display: none;" src="">
</html>

Как-то так:

window.frames[2].document.body.querySelector('div[style*="overflow:hidden"]')

Пробуй подобрать цифру в [] скобках.

Ученье - путь к уменью.

16 - querySelector и querySelectorAll. Полный контроль над страницей.

RISEVIK пишет

<div style="overflow:hidden; width:300px; height:150px;">

может из-за стиля ... ? : "hidden" - скрытый ... и чего он тебя не любит ( не дает капчу )
у меня эта сладкая парочка выдает ровную канвас капчу

Telegram: @FastLiker

17 - querySelector и querySelectorAll. Полный контроль над страницей.

Zizya пишет

Как-то так:

window.frames[2].document.body.querySelector('div[style*="overflow:hidden"]')

Пробуй подобрать цифру в [] скобках.

В [] скобках менял цифры - не помогло.
Вместо window писал content - не работает.
В () скобках писал head или body - тоже не видит.
Видимо команда frames - не работает.
В консоле забивал - не видит эту строку. Обычно если команда написана правильно то консоль находит эту строку и по нажатию на нее переходишь в HTML код. Это я делал в Firebug.

18 - querySelector и querySelectorAll. Полный контроль над страницей.

Подскажите как вытащить из такого

TAG POS=1 TYPE=TD ATTR=TXT:ура?ура?ура?<SP>Привет<SP>Пока<SP>Удачи<SP>Интересно*

только ура?ура?ура?
Только полностью вытаскивать получается.
ура?ура?ура? каждый цикл будет менятся

19 - querySelector и querySelectorAll. Полный контроль над страницей. (2017-09-18 14:51:18 отредактировано RISEVIK)

Столкнулся вот с таким вопросом.
В кране не нажимается кнопка кляйм пока не отключиш адблокер. Это уже встречается очень часто на многих кранах, понятно что они на рекламе зарабатывают, но как только отключишь блокер так вылетает миллион реклам и страница понятно же грузится долго.Я понимаю когда их немного, но когда столько, что не возможно найти кнопку кляйм, это уже через чур. Вобщем к делу:

Строка из инспектрора по кнопке кляйм

<input class="btn btn-lg btn-warning" type="submit" value="Claim My Free Bitcoins" name="submit" disabled="">

селектор

content.document.querySelector('#mustrun div.form-group input.btn').outerHTML

показывает алерт

<input disabled="" name="submit" class="btn btn-lg btn-warning" value="Claim My Free Bitcoins" type="submit">

Как поменять disabled на enabled?
В инспекторе когда меняеш то кнопка сразу становится активной.
Как это сделать в js?

20 - querySelector и querySelectorAll. Полный контроль над страницей. (2017-09-18 19:49:05 отредактировано karginaolga)

RISEVIK
а зачем что-то менять? добавьте свою кнопку:

Скрытый текст
var button="<input class=\"btn btn-lg btn-warning\" type=\"submit\" value=\"Claim My Free Bitcoins\" name=\"submit\" enabled=\"\">"
window.document.querySelector('родительский селектор').innerHTML = button;

значение value можете поменять

21 - querySelector и querySelectorAll. Полный контроль над страницей.

karginaolga пишет

RISEVIK
а зачем что-то менять? добавьте свою кнопку:

Скрытый текст
var button="<input class=\"btn btn-lg btn-warning\" type=\"submit\" value=\"Claim My Free Bitcoins\" name=\"submit\" enabled=\"\">"
window.document.querySelector('родительский селектор').innerHTML = button;

значение value можете поменять

Спасибо помогло.

22 - querySelector и querySelectorAll. Полный контроль над страницей. (2017-10-06 13:40:05 отредактировано Duh555)

Спасибо за замечательный форум) Узнал много полезного)

У меня вопрос: как обработать в скрипте отсутствие к примеру кнопки?

Я делал так с использованием команд аймакроса:

iimPlayCode('SET !TIMEOUT_STEP 1 \n TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=CLASS:flat_button<SP>profile_btn_cut_left EXTRACT=TXT');
x=iimGetLastExtract();
if (("Написать сообщение")==x) {
alert(x)
} else {
alert('Нет кнопки')
}

А как это сделать с таким кодом?

x=(content.document.querySelector('.profile_btn_cut_left').textContent);
alert(x)

Если нет кнопки, то ошибка. А надо чтобы делалось другое условие если кнопки нет.

Пример на страницах вк.

23 - querySelector и querySelectorAll. Полный контроль над страницей.

Duh555 пишет

Спасибо за замечательный форум) Узнал много полезного)

У меня вопрос: как обработать в скрипте отсутствие к примеру кнопки?

Я делал так с использованием команд аймакроса:

iimPlayCode('SET !TIMEOUT_STEP 1 \n TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=CLASS:flat_button<SP>profile_btn_cut_left EXTRACT=TXT');
x=iimGetLastExtract();
if (("Написать сообщение")==x) {
alert(x)
} else {
alert('Нет кнопки')
}
}

А как это сделать с таким кодом?

x=(content.document.querySelector('.profile_btn_cut_left').textContent);
alert(x)

Если нет кнопки, то ошибка. А надо чтобы делалось другое условие если кнопки нет.

Пример на страницах вк.

Пробуй так:

if(content.document.querySelector('.profile_btn_cut_left')){
x=(content.document.querySelector('.profile_btn_cut_left').textContent);
if (("Написать сообщение")==x) {
alert(x)
} else {
alert('Нет кнопки')
}
}
Ученье - путь к уменью.

24 - querySelector и querySelectorAll. Полный контроль над страницей.

Zizya пишет
Duh555 пишет

Спасибо за замечательный форум) Узнал много полезного)

У меня вопрос: как обработать в скрипте отсутствие к примеру кнопки?

Я делал так с использованием команд аймакроса:

iimPlayCode('SET !TIMEOUT_STEP 1 \n TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=CLASS:flat_button<SP>profile_btn_cut_left EXTRACT=TXT');
x=iimGetLastExtract();
if (("Написать сообщение")==x) {
alert(x)
} else {
alert('Нет кнопки')
}
}

А как это сделать с таким кодом?

x=(content.document.querySelector('.profile_btn_cut_left').textContent);
alert(x)

Если нет кнопки, то ошибка. А надо чтобы делалось другое условие если кнопки нет.

Пример на страницах вк.

Пробуй так:

if(content.document.querySelector('.profile_btn_cut_left')){
x=(content.document.querySelector('.profile_btn_cut_left').textContent);
if (("Написать сообщение")==x) {
alert(x)
} else {
alert('Нет кнопки')
}
}

Спасибо)) Работает. Только надо вот так:

if(content.document.querySelector('.profile_btn_cut_left')){
x=(content.document.querySelector('.profile_btn_cut_left').textContent);
if (("Написать сообщение")==x) {
alert(x)
}
} else {
alert('Нет кнопки')
}

25 - querySelector и querySelectorAll. Полный контроль над страницей.

Здравствуйте, есть такой кусочек кода

Скрытый текст

<tr>
<td class="label">Электронная почта:</td>
<td class="data" itemprop="email">
<a href="mailto:office@ibis-arm.kiev.ua" rel="nofollow" target="_blank">office@ibis-arm.kiev.ua</a>
</td>
</tr>
<tr>
<td class="label">Сайт: </td>
<td class="data" itemprop="url">
<a href="https://ibis.net.ua" rel="nofollow" target="_blank">https://ibis.net.ua</a>
</td>
</tr>

как мне через querySelector обратиться именно к class="data" itemprop="email" потому что копирование пути css дает( .data a),а это действует на все классы data, а мне нужны только емейлы.