Помогите разобраться

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 09.01.2013 (Ср) 23:57

ala-x писал(а):проблема в том что при установке silent = true зависает страничка.Что делать в таких случаях?

Не знаю. Ничего. Исправлять скрипт? Поэксперементируй в IE со страницей (используй инструменты разработчика).

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 0:12

Qwertiy писал(а):' Тут можно проверить количество знаков, но если первый нулём не бывает, то не надо

А ещё, оно будет неверно работать, если число цифр меняется, например при mid=10000.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 21:09

Подскажи пожалуйста ,вот к примеру загрузил я страницу и мне нужно скопировать текст со страницы.Как это сделать?(текст может быть любой---это описание чего либо)
И ещё--в меню серфинга есть фрейм с отсчётом времени.Возможно ли его как нибудь загрузить или в веббровсер или текст без разницы(чтобы видеть отсчёт и результат не на странице а в прогамме)

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 21:25

ala-x писал(а):Подскажи пожалуйста ,вот к примеру загрузил я страницу и мне нужно скопировать текст со страницы.Как это сделать?(текст может быть любой---это описание чего либо)

Ищешь элемент с текстом и тащишь InnerText.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 21:45

это таблица.номер элемента 307 как стащить его иннертекст в текст бокс? вернее чем стащить
понятное дело как ссылку стаскивать,а вот как таблицу--к сожалению не знаю

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 22:06

Ну так и взять.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 22:11

Код: Выделить всё
For Each testlink In WebBrowser2.Document.links
    If InStr(1, testlink.href, "timerfrm", vbTextCompare) Then
       Text7 = testlink.innerText
        Exit For
    End If
Next testlink
Тут ведь он линк ищет а у меня таблица id 307 куда его вставить то? или этот метод не подойдёт?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 22:28

Document.GetElementByID, Document.GetElementsByTagName, Document.All...

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 22:52

Код: Выделить всё
For each Element in WebBrowser.Document.GetElementsByTagName("Описание")
   Print Element.Text
Next
Выдаёт ошибку object wariable not set
Последний раз редактировалось ala-x 10.01.2013 (Чт) 23:06, всего редактировалось 1 раз.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 23:04

Ты хотя бы названия переводи перед тем как код писать.
И почему Text?
Последний раз редактировалось Qwertiy 10.01.2013 (Чт) 23:06, всего редактировалось 1 раз.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 23:05

Код: Выделить всё
While WebBrowser1.Document Is Nothing    'ждём создания документа
        DoEvents
    Wend
    WebBrowser1.Document.write sPage
    While WebBrowser1.Document Is Nothing    'ждём создания документа
        DoEvents
    Wend
Debug.Print WebBrowser1.Document.getElementById("307").innerText
та же самая ошибка

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 23:07

а как правильно? innertext?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 23:09

ala-x писал(а):Debug.Print WebBrowser1.Document.getElementById("307").innerText[/code] та же самая ошибка

Потому что элемента с id=307 нет? Это же id, а не индекс.

Да и While -Wend - плохой стиль.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 10.01.2013 (Чт) 23:12

я смотрел програмкой htmlspy она показала номер 307 тип table и (class = tbl_stat
contentEditable = inherit
border = 0
cellSpacing = 0
width = 100%
align = center)

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 10.01.2013 (Чт) 23:27

Номер - это не id. И вообще, выбирать по номеру надо очень осторожно и уж точно не из all. Найди эту таблицу среди других таблиц, уникальным признаком может быть класс, но надо смотреть.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 11.01.2013 (Пт) 0:18

Qwertiy дай пожалуйста хоть приближённый код :oops:
Вложения
x.rar
код страницы
(3.8 Кб) Скачиваний: 81

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.01.2013 (Пт) 0:44

ala-x писал(а):Qwertiy дай пожалуйста хоть приближённый код :oops:

Это не страница, а лишь кусок таблицы. И непонятно, что надо получить.

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 11.01.2013 (Пт) 0:54

нужно это

Код: Выделить всё
2. Переходите на yandex.ru<br />
[b]3. Вводите в поиск один из запросов: пулемет горюнова<br />
                                     пистолет ТК<br />
                                     пистолет пулемет шпагина<br />
                                     дегтярев<br />
                                     пулемет дегтярева<br />
                                     пистолет-пулемет судаева<br />
                                     музей увд<br />
4. Кликаете на сайт (muzeyuvd)<br />
5. Делаете 3-4 перехода по сайту<br />
6. Делаете <b>1 клик</b> по рекламе от гугла <b>(реклама на некоторых страницах может не отражаться, в последних ссылках сайта как правило есть)</b> <b>ДЛЯ НОВИЧКОВ - НЕ НАДО ТЫКАТЬ ПО РЕКЛАМЕ НЕСКОЛЬКО РАЗ - ссылки должны быть с одного рекламируемого сайта, иначе не защитаю</b><br />
7. Делаете <b>3-4 перехода</b> по открывшемуся рекламному сайту, находится на сайте <b>не менее 2 минут</b><br />
На проверку ссылки <b>всех</b> переходов <b>(ссылка с поисковика, 4-5 ссылок по сайту, 4-5 ссылки по сайту от гугл)</b> <br />[/b]
Добавляйте в избранное.</td>
                  </tr>
                  <tr class="line">
                    <td colspan="4" align="left" class="nobdr"><img src="img/currency_dollar24.png" alt=""  align="absmiddle" width="24" height="24" border="0"> За выполнение этого задания Вы получите <b>0.025</b>$</td>
                  </tr>
                                <tr class="line">
                    <th colspan="4">Выполнение задания</th>
                  </tr>                  <tr>
                    <td align="right">&nbsp;</td>
                    <td align="left" style="text-align: center;">
               <form action="index.php" method="post" target="_blank"><input type="hidden" name="cf" value="uzd-geturltask"><input type="hidden" name="zdid" value="207425"><input type="hidden" name="rnd" value="5a93ea9e89b3e1f0e12e4c2605735b29">
               <input type="submit" value="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Начать выполнение задания&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" style="font-weight: bold;">
               </form>
               <p align="center"><font color="#FF0000"><b>ВНИМАНИЕ!</b> В последнее время участились взломы аккаунтов пользователей через задания, внимательно смотрите где Вы указываете свои пароли и проверяйте скачиваемые файлы на вирусы!</font></p>
               </td>
                    <td colspan="2" align="left"  class="nobdr"></td>
                  </tr>
                  <tr class="line">
                    <th colspan="4">Проверка задания</th>
                  </tr>
Вложения
x.rar
(3.8 Кб) Скачиваний: 86

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.01.2013 (Пт) 1:00

Ты издеваешься?

ala-x
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 16.05.2009 (Сб) 16:03

Re: Помогите разобраться

Сообщение ala-x » 11.01.2013 (Пт) 1:02

извини ...разве не страница?по ошибке тот же отправил
Вложения
x.rar
(8 Кб) Скачиваний: 79

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.01.2013 (Пт) 1:42

ala-x писал(а):Qwertiy дай пожалуйста хоть приближённый код :oops:

Вот javascript:
Код: Выделить всё
var tables, rows, row, res;

tables=document.getElementsByTagName("table");
for(var q=0; q<tables.length; ++q)
  if(tables[q].innerHTML.match(/class="line"/) && tables[q].innerHTML.split("<table").length==1 && (rows=tables[q].getElementsByTagName("tr")).length>2)
    for(var w=0; w<rows.length; ++w)
      if(rows[w].getElementsByTagName("br").length>0) {
        row = rows[w];
        res = row.innerHTML.split(/<[^>]*>/).join("").trim();
        break;
      }

Результат (лежит в виде строки в переменной res):
Код: Выделить всё
1. Чистим куки, меняем IP - обязательно
2. Переходите на yandex.ru
3. Вводите в поиск один из запросов: пулемет горюнова
                                     пистолет ТК
                                     пистолет пулемет шпагина
                                     дегтярев
                                     пулемет дегтярева
                                     пистолет-пулемет судаева
                                     музей увд
4. Кликаете на сайт (muzeyuvd)
5. Делаете 3-4 перехода по сайту
6. Делаете 1 клик по рекламе от гугла (реклама на некоторых страницах может не отражаться, в последних ссылках сайта как правило есть) ДЛЯ НОВИЧКОВ - НЕ НАДО ТЫКАТЬ ПО РЕКЛАМЕ НЕСКОЛЬКО РАЗ - ссылки должны быть с одного рекламируемого сайта, иначе не защитаю
7. Делаете 3-4 перехода по открывшемуся рекламному сайту, находится на сайте не менее 2 минут
На проверку ссылки всех переходов (ссылка с поисковика, 4-5 ссылок по сайту, 4-5 ссылки по сайту от гугл)
Добавляйте в избранное.

В переменной row лежит соответствующая строка таблицы.

Разбирайся :)

PS: Да, неоптимально, но вполне работает.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 12.01.2013 (Сб) 0:48

Небольшое улучшение кода:
Код: Выделить всё
var tables, rows, row, res;

tables=document.getElementsByTagName("table");
for(var q=0; q<tables.length; ++q)
  if(tables[q].getElementsByTagName("table").length==0 && (rows=tables[q].getElementsByTagName("tr")).length>2)
    for(var w=0; w<rows.length; ++w)
      if(rows[w].getElementsByTagName("br").length>0) {
        row = rows[w];
        res = row.innerText;
        //res = row.innerHTML.replace(/<[^>]*>/g, "").trim();
        break;
      }

Если использовать innerText, то результат выглядит так:
Код: Выделить всё
1. Чистим куки, меняем IP - обязательно
2. Переходите на yandex.ru
3. Вводите в поиск один из запросов: пулемет горюнова
пистолет ТК
пистолет пулемет шпагина
дегтярев
пулемет дегтярева
пистолет-пулемет судаева
музей увд
4. Кликаете на сайт (muzeyuvd)
5. Делаете 3-4 перехода по сайту
6. Делаете 1 клик по рекламе от гугла (реклама на некоторых страницах может не отражаться, в последних ссылках сайта как правило есть) ДЛЯ НОВИЧКОВ - НЕ НАДО ТЫКАТЬ ПО РЕКЛАМЕ НЕСКОЛЬКО РАЗ - ссылки должны быть с одного рекламируемого сайта, иначе не защитаю
7. Делаете 3-4 перехода по открывшемуся рекламному сайту, находится на сайте не менее 2 минут
На проверку ссылки всех переходов (ссылка с поисковика, 4-5 ссылок по сайту, 4-5 ссылки по сайту от гугл)
Добавляйте в избранное.

Закомментированная строка даёт тот же результат, что и предыдущий мой код.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 12.01.2013 (Сб) 22:33

И тишина...

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Помогите разобраться

Сообщение theal » 12.01.2013 (Сб) 22:47

да я не ас в програмировании..не получается нихрена :oops:

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.01.2013 (Вс) 2:35

Всё же написано.

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Помогите разобраться

Сообщение theal » 13.01.2013 (Вс) 21:11

помоги определить куда кликнуть. http://porschecayenneauto.narod.ru/ блок от гугла .как узнать href?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.01.2013 (Вс) 21:25

theal писал(а):там есть рекламный блок от гугла

Ну есть. Он в iframe'ы запрятан.
Код: Выделить всё
document.getElementsByTagName("iframe")[1].contentDocument.getElementsByTagName("iframe")[1].src
это
Код: Выделить всё
http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-7481866188445527&output=html&h=280&slotname=3682958945&w=336&lmt=1358086397&flash=11.5.31&url=http%3A%2F%2Fporschecayenneauto.narod.ru%2F&dt=1358100797479&bpp=5&shv=r20130102&jsv=r20121214&correlator=1358100797617&frm=20&adk=1656017953&ga_vid=1076804156.1358100798&ga_sid=1358100798&ga_hid=1924465858&ga_fc=0&u_tz=240&u_his=2&u_java=1&u_h=1080&u_w=1920&u_ah=1050&u_aw=1920&u_cd=32&u_nplug=11&u_nmime=23&dff=arial&dfs=16&adx=816&ady=53&biw=1903&bih=586&oid=3&fu=0&ifi=1&dtd=185&xpc=JGyq2aOdAa&p=http%3A//porschecayenneauto.narod.ru

Годится?

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Помогите разобраться

Сообщение theal » 13.01.2013 (Вс) 21:37

Этот код выдаёт ошибку - permission danied
Код: Выделить всё
WebBrowser1.Document.getElementsByTagName("iframe")(1).src

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Помогите разобраться

Сообщение FireFenix » 13.01.2013 (Вс) 21:46

Изображение Если ты не видишь разницы твоего и Qwertiy кода, то прочитай его раз 1000 или одень очки
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Помогите разобраться

Сообщение theal » 13.01.2013 (Вс) 21:47

квадратные скобки выдают ошибку

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 49

    TopList