Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Добраться до ссылок на сайте / 25 сообщений из 30, страница 1 из 2
19.02.2013, 04:37
    #38156693
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Dim oHttp As Object
    Dim strURL As String
    
    strURL = "http://betcityru.com/"
    
    On Error Resume Next
    Set oHttp = CreateObject("MSXML2.XMLHTTP")
    If Err.Number <> 0 Then
        Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
    End If
    On Error GoTo 0
    If oHttp Is Nothing Then
        MsgBox "Не удалось инициализировать объект MSXML!"
        Exit Sub
    End If
    
    oHttp.Open "GET", strURL, False
    oHttp.send
    
    Debug.Print oHttp.responseText
    Set oHttp = Nothing
    MsgBox "Данные успешно импортированы!", vbInformation


С помощью этого кода пытаюсь получить HTML код страницы
Получаю

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<html><head><title>BetCity - букмекерская компания</title>
<meta name="keywords" content="betcity,бетсити,букмекерская,букмекер,бк,букмекерская компания,букмекерская контора,ставки,спорт,результаты,live результаты,live ставки,чемпионат,футбол,теннис,хоккей,on-line,sports,soccer,hockey,basketball,tennis">
<meta name="page-topic" content="sports">
    <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-120364-1");
pageTracker._trackPageview();
} catch(err) {}</script>
    </head>
<frameset rows="112,*,38" border="0">
<frame name="btop" src="top.php" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
<frame name="center" src="center.php" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
<frame name="bottom" src="bottom.php" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
</frameset></html>


но если кликаю ПКМ по стринице и "Показать HTML код", то вижу совсем другое:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
<html>
<head>
	<title>BetCity</title>
	<meta HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251"><base target="left">	<link rel="stylesheet" href="/bets2.css?v5" type="text/css" media="all" />
		<script language="JavaScript">
		<!--
		//rs
		top.frames['btop'].tabsh("mbets");
				if (parent.left.document.getElementById('fjsce') != null) parent.left.showQuick();if (parent.left.document.getElementById('fjsce') != null) parent.left.showFS("3,5,20,39,12,8,47,73,38,46,35,13,2,1,19,7,36,17,10");		function shdop(idd, col) {
			id = "content";
			if (document.getElementById('tr'+idd).style.display=='') {
				document.getElementById('d'+idd).innerHTML = '<b style="color:#CC3333;">+'+col+'</b>';
				document.getElementById('tr'+idd).style.display = 'none';
			}
			else {
				document.getElementById('d'+idd).innerHTML = '<b style="color:#CC3333;">-'+col+'</b>';
				if (document.getElementById('td'+idd).innerHTML=='') {
					url = "/dop.php?line_id="+idd+"&rand="+Math.random();
					if (document.layers) {
						var lyr = document.layers[id];
						lyr.load(url,lyr.clip.width);
					}
					else if (document.getElementById) document.getElementById('hf').src = url;
					else if (document.all) parent.HiddenFrame.document.location = url;
				}
				else document.getElementById('tr'+idd).style.display = '';
			}
		}
		function shodop(id) {
			document.getElementById('td'+id).innerHTML = window.frames['hf'].document.getElementById('body').innerHTML;
			document.getElementById('tr'+id).style.display = '';
		}
		function mo(id) {
			id.style.cursor = 'hand';
		}
		function so(swn,url) {
			window.open(url, swn, 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=no,width=590,height=500');
			return false;
		}
		function sog(swn,url) {
			window.open(url, swn, 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=yes,width=770,height=500');
			return false;
		}
		function al () {
			alert('Чтобы сделать ставку, необходимо зарегистрироваться или воспользоваться "гостевым входом"'); return false;
		}
		//-->
	</script>
	
	<style type="text/css">
		.chead .th td{text-transform: uppercase;}
		.tblH .th td{text-transform: uppercase;}
		#dt .tdh{text-transform: uppercase;}
	</style>
</head>
<body topmargin=0 bgcolor=#ffffff rightmargin="3" leftmargin="3">
<iframe id="hf" name="hf"
		style="position: absolute; visibility: hidden; width: 0px; height: 0px; left: -100; top: -100px;"></iframe>
<div id=content></div>
<a name=top></a>
<table width=100% cellspacing=0 cellpadding=3 border=0>
	<tr>
		<td class="dmenu2" bgcolor="#EAF6FF"> <b>ставки</b></td>
	</tr>
</table>

	<table cellspacing=2 cellpadding=1 width=100%><thead><tr><td align="left" colspan="13"><b><a name=c14287></a>Баскетбол. NCAA.</b></td></tr></thead><tbody class=date><tr><td colspan="13">19.02.2013</td></tr></tbody><tbody class="chead"><tr class="th"><td nowrap>время</td><td nowrap>Команда 1</td><td nowrap>фора</td><td nowrap>кф</td><td nowrap>Команда 2</td><td nowrap>фора</td><td nowrap>кф</td><td nowrap><b>1</b></td><td nowrap><b>2</b></td><td nowrap>Тотал</td><td nowrap>мен</td><td nowrap>бол</td><td>ДОП</td></tr></tbody><Tbody id="line"><Tr class="tc"><td>06:00</td><td><b>Вилланова</b></td><td><b>  -10.5</b></td><td><a href="/left.php?bb=1806799.4" onClick="return parent.left.db('1806799.4');">1.90</a></td><td><b>Ратгерс</b></td><td><b>  +10.5</b></td><td><a href="/left.php?bb=1806799.5" onClick="return parent.left.db('1806799.5');">1.90</a></td><td><a href="/left.php?bb=1806799.1" onClick="return parent.left.db('1806799.1');" class=red>1.14</a></td><td><a href="/left.php?bb=1806799.2" onClick="return parent.left.db('1806799.2');" class=red>5.70</a></td><td><b> 130.5</b></td><td><a href="/left.php?bb=1806799.6" onClick="return parent.left.db('1806799.6');">1.90</a></td><td><a href="/left.php?bb=1806799.7" onClick="return parent.left.db('1806799.7');">1.90</a></td><Td id="d1806799" onmouseover="mo(this);" onclick="shdop('1806799','1');"><b style="color:#CC3333">+1</b></td><td><a href="/mstat.php?p=14287:12604:43987:1806799" onclick="return so('s1806799', '/mstat.php?p=14287:12604:43987:1806799');" target="s1806799"><img src="/img/stat_ico.gif" border=0 alt="Статистика"></a></td></tr><tr id="tr1806799" style="display:none;"><td id="td1806799" colspan=13 class="tcd"></td></tr></tbody><Tbody id="line"><Tr class="tc1"><td>06:00</td><td><b>Канзас Ст.</b></td><td><b>  -10.5</b></td><td><a href="/left.php?bb=1806794.4" onClick="return parent.left.db('1806794.4');">1.90</a></td><td><b>Зап. Вирджиния</b></td><td><b>  +10.5</b></td><td><a href="/left.php?bb=1806794.5" onClick="return parent.left.db('1806794.5');">1.90</a></td><td><a href="/left.php?bb=1806794.1" onClick="return parent.left.db('1806794.1');" class=red>1.14</a></td><td><a href="/left.php?bb=1806794.2" onClick="return parent.left.db('1806794.2');" class=red>5.70</a></td><td><b> 127.5</b></td><td><a href="/left.php?bb=1806794.6" onClick="return parent.left.db('1806794.6');">1.90</a></td><td><a href="/left.php?bb=1806794.7" onClick="return parent.left.db('1806794.7');">1.90</a></td><Td id="d1806794" onmouseover="mo(this);" onclick="shdop('1806794','5');"><b style="color:#CC3333">+5</b></td><td><a href="/mstat.php?p=14287:27112:12603:1806794" onclick="return so('s1806794', '/mstat.php?p=14287:27112:12603:1806794');" target="s1806794"><img src="/img/stat_ico.gif" border=0 alt="Статистика"></a></td></tr><tr id="tr1806794" style="display:none;"><td id="td1806794" colspan=13 class="tcd1"></td></tr><tr><td colspan=13 class="t_comment1">Виасат Спорт</td></tr></tbody></table><div align="right"><a href="#cc" class="btnIndex" target="_self">оглавление</a></div><br></td>
</tr>
</table>
<br>
<br>
<div class="bottomElements">
	<a name=cc></a>
	<a href=#c14287 style="color: #006699" target="_self">Баскетбол. NCAA.</a><br></div>

<a href="#top" class="a btnGoTop" target="_self">наверх</a>
	
<table width=100% cellspacing=0 cellpadding=0>
	<tr>
		<td>		</td>
	</tr>
</table>
<br><br>
</body>
</html>



Вопрос: как добраться до нужного мне кода программно? Конечная цель: выбрать все ссылки и организовать клик по некоторым ссылкам.
...
Рейтинг: 0 / 0
19.02.2013, 07:00
    #38156725
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
strURL = "http://betcityru.com/main2.php"
...

dim html, link, k&
html = createobject("htmlfile")
html.write oHttp.responsetext

k = 0
for each link in html.links
    k = k +1
    debug.print k, link.outerhtml

    ' put Your "somelink-loop" code here

next link

...

set html = nothing

...
Рейтинг: 0 / 0
21.02.2013, 01:34
    #38159964
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Спасибо. Ещё не то, но уже есть подвижки. Теперь хоть выбрало ссылки не со стартовой страницы.
Как выбрать ссылки из нужной мне страници зоны уже буду думать.
Выбирает нужные мне ссылки при адресе
strURL = " http://betcityru.com/livebetssh.php"
Теперь понять бы как послать клик на ссылку.
Возможно?
...
Рейтинг: 0 / 0
21.02.2013, 01:55
    #38159984
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
> alex77755,
> Теперь понять бы как послать клик на ссылку.

Зачем "посылать клик", да ещё и "на ссылку" ? Чем не угодил MSXML2.XMLHTTP.SEND ?
...
Рейтинг: 0 / 0
21.02.2013, 14:19
    #38160722
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
К сожалению я только начал изучать это направление и не смог пока найти хорошего справочника с примерами работы.
В тех примерах, что нашёл такого не было.
Как нажать на кнопку нашел(и то пока не могу применить):
Код: vbnet
1.
WB.Document.getElementsByTagName("Input").Item(2).InvokeMember ("Click")


Кликнуть по ссылке(тоже не получается) в примере у ссылки был индекс, У меня ID всех ссылок при просмотре объекта =""
Код: vbnet
1.
 WebBrowser1.Document.links(cur).Click


Воспользовавшись вашей подсказкой Решил сначала сделать автоматический вход.
Но опять не могу понять как связать.
Если делаю так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
   strURL = "http://betcityru.com/top.php"
   Set oHttp = CreateObject("MSXML2.XMLHTTP")
   oHttp.Open "GET", strURL, False
   oHttp.send
   WB2.Document.body.innerHTML = oHttp.responseText
   WB2.Document.Forms(0).Item("login").Value = LOG
   WB2.Document.Forms(0).Item("pwd").Value = PAR


То во втором контроле открывается только фрагмент(не знаю как его правильно назвать. часть станицы)
Поля нашёл и заполнил. Клик по кнопке не посылал, по тому, что при ручном клике открывается просто обозреватель, а не в моём контроле.
А мне надо проделать всё это с главной страницы " http://betcityru.com", а не с " http://betcityru.com/top.php"
Вот как произвести регистрацию на " http://betcityru.com"?
если поля для логина и пароля находятся на " http://betcityru.com/top.php"?

Про MSXML2.XMLHTTP.SEND буду гуглить
...
Рейтинг: 0 / 0
21.02.2013, 16:59
    #38161113
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
> alex77755,
> Про MSXML2.XMLHTTP.SEND буду гуглить

O_O Вы же его уже используете:
Код: vbnet
1.
2.
3.
   Set oHttp = CreateObject("MSXML2.XMLHTTP")
   oHttp.Open "GET", strURL, False
   oHttp.send



Авторизация:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
   strURL = "http://betcityru.com/top.php"
   ' если необходимо безопасное соединение, то
   ' strURL = "https://betcityru.com/top.php"

   Set oHttp = CreateObject("MSXML2.XMLHTTP")
   oHttp.Open "POST", strURL, False

   Dim param
   param = "login=" & {YOUR_LOGIN} & "&psw=" & {YOUR_PASSWORD}

' rem метод и параметры взяты из исходного кода страницы http://betcityru.com/top.php ( под спойлером )
   oHttp.Send param

   ' обрабатываете ответ сервера
   ' ...

форма
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<form method="post" 
target="btop" id="loginForm" action="http://betcityru.com/top.php"><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td width="212"><a href="/" target="_top"><img src="img/logoru.gif" border="0"></a></td>
    <td><table width=100% height=68 border=0 cellspacing=0 cellpadding=0><tr><td width="5"><script type="text/javascript"><!--
document.write("<img src='http://counter.yadro.ru/hit?r"+
    escape(top.document.referrer)+((typeof(screen)=="undefined")?"":
    ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
        screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
    ";"+Math.random()+
    "' width=1 height=1 alt=''>")//--></script>
    </td><td width="246" align="left"><table width=100% cellspacing=0 cellpadding=0 border=0><tr><td width="103" nowrap><font color="#C7E1F5"><b>Логин</b></font><br>
<input id="st" type="text" name="login" size="12"><img src="/img/p.gif" width=1 height=18 height=1  style="position: relative; top: 5px; margin-top: -3px;" border=0></td><td width="10"><img src=img/p.gif width=10 height=1 border=0></td><td width="146" nowrap><font color="#C7E1F5"><b>Пароль</b></font><br>
<input id="st" type="password" name="pwd" size="12"> <input type="image" src="/img/submit.gif" style="position: relative; top: 5px; margin-top: -3px;" width="18" height="18" border="0"></td></tr><tr><td width="103" nowrap><a href="/user/register.php">Регистрация</a></td><td width="10"><img src="/img/p.gif" width=10 height=1 border=0></td><td width=""><a href="#" onClick="window.open('/lost.php', '', 'scrollbars=no,resizable=yes,width=400,height=200'); return false;">Забыли пароль?</a></td></tr></table><input type="checkbox" id="https" onclick="changeAction(this)" onchange="changeAction(this)" name="https" style="border: none;" value="1" checked="checked" /> <label for="https"> <a>безопасное соединение</a>
</label>
    
</td>
<td width="7"> </td>
<td width="25"></td>
<td width=50> </td>
<td width=150 align="center">
    </td><td width=150 align="center"></td><td width=170 align="center"><table width="150" height="50" border=0 bgcolor="#CC3333"><tr><td align="center" bgcolor="#2274B0"><a href="/toto/" class=a target="middle"><font color=#ffffff class=mmenu>Тотализатор</font></a></td></tr></table></td><td width=150 align="center"><table width="150" height="50" border=0 bgcolor="#CC3333"><tr><td align="center" bgcolor="#2274B0"><a href="/pays.php#ecocard" title="Пополнение пластиковыми картами" class=a target="middle"><font color=#ffffff class=mmenu>Пополнение пластиковыми картами</font></a></td></tr></table></td><td> </td><td align="left" width="35"> </td></tr></table>
    <table style="margin: 0px; padding: 0px;width: 100%;" cellspacing=0 cellpadding=0 border=0>
        <tr>
            <td valign="top" align="right" class="btll"><ul id="barnav1"><li><a id="mstats" href="/stats.php">статистика</a></li><li><a id="mrules" href="/rules.php">правила приёма ставок</a></li><li><a id="mlive" href="/live/results.php">live</a></li><li><a id="mresults" href="/results/">результаты</a></li><li><a id="mbets" target="middle" href="/bets/bets.php">список ставок</a></li><li><a id="mmain" href="/main2.php">главная</a></li></ul></td><td width="10" valign="bottom" class="btl"> </td></tr><tr><td valign="bottom" align="right" class="bll" style="position: relative;">        <ul id="barnav2">
            <li><a id="mhowbet" href="/how-bet.php" >как делать ставки</a></li>
            <li><a id="mnews" href="/news.php" >новости</a></li>
            <li><a id="mabout" href="/about.php" >о компании</a></li>
            <li><a id="mpays" href="/pays.php" >расчёты</a></li>
                        <li><b>|</b></li>
            <li class="lng">
                <span class="cur"><img src="/img/flg/flag_ru_3.gif">ru</span>(<a href="#" id="chlng">Выбор языка</a>)
            </li>

                    </ul>
        <div id="switchlang"><a href="/lngswitch.php?lang=ru" class=sel><img src="/img/flg/flag_ru_3.gif" alt="ru">ru</a><a href="/lngswitch.php?lang=en" ><img src="/img/flg/flag_en_3.gif" alt="en">en</a><a href="/lngswitch.php?lang=mk" ><img src="/img/flg/flag_mk_3.gif" alt="mk">mk</a><a href="/lngswitch.php?lang=es" ><img src="/img/flg/flag_es_3.gif" alt="es">es</a><a href="/lngswitch.php?lang=de" ><img src="/img/flg/flag_de_3.gif" alt="de">de</a><a href="/lngswitch.php?lang=cn" ><img src="/img/flg/flag_cn_3.gif" alt="cn">cn</a><a href="/lngswitch.php?lang=fr" ><img src="/img/flg/flag_fr_3.gif" alt="fr">fr</a><a href="/lngswitch.php?lang=it" ><img src="/img/flg/flag_it_3.gif" alt="it">it</a><a href="/lngswitch.php?lang=pt" ><img src="/img/flg/flag_pt_3.gif" alt="pt">pt</a><a href="/lngswitch.php?lang=az" ><img src="/img/flg/flag_az_3.gif" alt="az">az</a><a href="/lngswitch.php?lang=rs" ><img src="/img/flg/flag_rs_3.gif" alt="rs">rs</a><a href="/lngswitch.php?lang=cz" ><img src="/img/flg/flag_cz_3.gif" alt="cz">cz</a><a href="/lngswitch.php?lang=hr" ><img src="/img/flg/flag_hr_3.gif" alt="hr">hr</a><a href="/lngswitch.php?lang=hu" ><img src="/img/flg/flag_hu_3.gif" alt="hu">hu</a><a href="/lngswitch.php?lang=pl" ><img src="/img/flg/flag_pl_3.gif" alt="pl">pl</a><a href="/lngswitch.php?lang=bg" ><img src="/img/flg/flag_bg_3.gif" alt="bg">bg</a><a href="/lngswitch.php?lang=ro" ><img src="/img/flg/flag_ro_3.gif" alt="ro">ro</a><a href="/lngswitch.php?lang=si" ><img src="/img/flg/flag_si_3.gif" alt="si">si</a><a href="/lngswitch.php?lang=tr" ><img src="/img/flg/flag_tr_3.gif" alt="tr">tr</a><a href="/lngswitch.php?lang=kz" ><img src="/img/flg/flag_kz_3.gif" alt="kz">kz</a></div>
</td><td width="10" valign="bottom" class="bl"> </td></tr></table>
</td>
</tr>
</table>
</form>

...
Рейтинг: 0 / 0
21.02.2013, 19:17
    #38161341
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
автор обрабатываете ответ сервера
Вот с этим тоже непонятка: Что значит обрабатывайте ответ?
После исполнения oHttp.Send param
У объёкта oHttp Появился Массив(коллекция): responseBody : Variant/Byte(0 to 12030)
и пустой responseStream : Variant/<Неподдерживаемый тип объекта>
12030 каких-то цифр.
Я рассчитывал внести логин и пароль и нажать кнопку "Вход" и после этого зашёл бы на сайт
Т.е. на форме WebBrowser1(WB)
Код: vbnet
1.
2.
Private Sub Form_Load()
WB.Navigate "http://betcityru.com/"


После загрузки сайта я не авторизован. Хочу авторизоваться по нажатию кнопки.
Как будет выглядеть процедура?
...
Рейтинг: 0 / 0
21.02.2013, 19:53
    #38161381
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755,
про responsetext забыли.
...
Рейтинг: 0 / 0
21.02.2013, 20:06
    #38161396
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Вот до чего я мог додуматься?
Код: vbnet
1.
2.
3.
   WB2.Document.body.innerHTML = oHttp.responseText
   WB2.Document.Forms(0).Item("login").Value = LOG
   WB2.Document.Forms(0).Item("pwd").Value = PAR


Я же об этом уже писал. Загружаю текст во второй контрол. В этом контроле я могу запонить логин и пароль.
Но это же не вся страница, а только её часть. Которая открывается при strURL = " https://betcityru.com/top.php"
А мне надо ввести логин и пароль при открытой странице strURL = " https://betcityru.com"
А так в oHttp.responseText нет полей логина и пароля
...
Рейтинг: 0 / 0
21.02.2013, 20:41
    #38161414
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Помоги с кодом как авторизоваться.
Ну никак не догоню как из кусков собрать до кучи всё
В примере авторизации "В контакте"
Код: vbnet
1.
2.
3.
WebBrowser1.Document.All.Item("email").Value = "твой логин" 'заполнение поля с логином
WebBrowser1.Document.All.Item("pass").Value = "твой пароль" 'заполнение поля с паролем
WebBrowser1.Document.All.Item("quick_login_button").Click 'клик по кнопке


Поля ввода находятся на главной странице, А у меня не пойму как ввести
...
Рейтинг: 0 / 0
21.02.2013, 20:54
    #38161423
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755,
13962424 .
...
Рейтинг: 0 / 0
21.02.2013, 21:14
    #38161446
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Спасибо, что хоть к Гуглу не послал!
Если б я разобрался, то не продолжал бы задавать вопросы 13963080 |> http://%5Bmsg=13963080]]
Страница, где бы я был авторизован не открывается!
И вообще после запроса ничего не происходит. Неужели после того как сказал "А" трудно сказать "Б"?
Чуствую, что кручусь где-то рядом, а понять не могу
...
Рейтинг: 0 / 0
21.02.2013, 22:37
    #38161523
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755,
плохой из меня объясняльщик :((
Непонимание возникло из-за того, что я ?предлагаю использовать только объект MSXML2.XMLHTTP
( если не требуется визуализация "как в браузере", то его одного вполне достаточно )
Вы же используете ещё и WebBrowser.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
   REM у меня вряд-ли получится объяснить как-то лучше 

   strURL = "http://betcityru.com/top.php"
   ' если необходимо безопасное соединение, то
   ' strURL = "https://betcityru.com/top.php"

   Set oHttp = CreateObject("MSXML2.XMLHTTP")
   oHttp.Open "POST", strURL, False

   ' параметры для авторизации, в данном случае только логин и пароль в открытом виде
   Dim param
   param = "login=" & {логин} & "&psw=" & {пароль}

   ' отправляем запрос
' rem метод и параметры взяты из исходного кода страницы http://betcityru.com/top.php
   oHttp.Send param

   ' обрабатываете ответ сервера
   dim s$, sHeaders$
   
   ' все заголовки ответа на зарос
   ' при удачной аворизации - в одном/ или нескольких из них
   ' будут параметры для ...?? слово забыл :(( следующих запросов в рамках данной сессии
   sHeaders = oHttp.getAllResponseHeaders
   
   ' ответ на запрос в текстовом виде
   ' что с ним делать - это уже зависит от
   s = oHttp.responsetext

   ' можно, например,  в браузер "залить" и просмотреть
   ' методы .Clear и .Write написал условно - т.к. не знаю с экземпляром какого класса работаете
   ' 
   WebBrowser1.Document.Clear
   WebBrowser1.Document.Write s

...
Рейтинг: 0 / 0
22.02.2013, 00:12
    #38161578
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Спасибо. Буду разбираться.
Чтобы была понятна суть:
На форме WebBrowser. Да нужна визуализация.
И при запуске программы броузер сразу заходит на страницу " http://betcityru.com/"
На сайте нужно авторизоваться, чтобы работать дальше. Поля для ввода логина и пароля находятся на " http://betcityru.com/top.php".
Но если загрузить в броузер эту строку, то откроется только часть страницы. И если там ввести логин и пароль и нажать вход, то открывается новый экземпляр обозревателя, а не в моём контроле. А мне надо ввести логин и пароль и нажать кнопку именно когда открыта осносная страница. Потому, что потом выбирается игра, ставки которой отображаются так же в части основной страницы.
И мне надо выбрать ссылки уже из " http://betcityru.com/livebetssh.php" или из " http://betcityru.com/bets2.php". (тут ещё надо будет разобраться какие игры на каком участке находятся). Ссылки, в принципе получалось выбирать. И вот их уже отобранные и отсортированные я заливал во второй Броузер. Но вся проблема в том, что ссылки(относительные) и ссылаются на часть страницы в основном обозревателе
Код: html
1.
<a href="/left.php?bb=1792354.4" onClick="return parent.left.db('1792354.4');">1.98</a>

. Я ещё не разобрался что делает onClick. Получается при щелчке осуществляется переход на "/left.php" и вызывается функция с передачей аргумента. А первое применение кода? bb=1792354.4 Типа назначение переменной?
Вот задача и стит так: запустить в WebBrowser страницу. Авторизоваться на ней и потом после выбора какой-то игры выбрать ставки. обработать их. показать где-то(показывал просто в гриде или в другом WebBrowser формируя и заливая в него код).
Но самое главное - обеспечить обратную совместимость: что-бы клик по ссылке во втором бруузере или по ячейке грида с нужной мне ставкой вызывал такуюже реакцию как и клик по ставке на основном WebBrowser.
Фуф. не знаю понятно ли описал задачу
...
Рейтинг: 0 / 0
22.02.2013, 01:43
    #38161619
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Попробовал ваш код: немного не то, что мне надо.
После заливки
Код: vbnet
1.
WebBrowser1.Document.Write s


Я получаю окно, которое я могу получить прямой навигацией:
Код: vbnet
1.
WebBrowser1.Navigate "http://betcityru.com/top.php"


И здесь я могу ввести программно и логин и пароль. Об этом я писал выше
...
Рейтинг: 0 / 0
22.02.2013, 02:07
    #38161626
Диклевич Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
можно натравить на это дело Fiddler2 и посмотреть, что за запросы отправляются при авторизации. потом все это автоматизировать.
...
Рейтинг: 0 / 0
22.02.2013, 02:31
    #38161636
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
А вот с этого места поподробней, пожалуйста
...
Рейтинг: 0 / 0
22.02.2013, 02:41
    #38161639
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Скачал утилитку. Установил. Русской нет такой? А то врядли смогу разобраться, что там она выдаёт и как это можно использовать
...
Рейтинг: 0 / 0
22.02.2013, 04:41
    #38161654
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755Попробовал ваш код: немного не то, что мне надо.
После заливки
Код: vbnet
1.
WebBrowser1.Document.Write s


Я получаю окно, которое я могу получить прямой навигацией:
Код: vbnet
1.
WebBrowser1.Navigate "http://betcityru.com/top.php"


И здесь я могу ввести программно и логин и пароль . Об этом я писал вышеПо идее, Вы УЖЕ авторизировались.
Что при этом в переменной sHeaders ?
...
Рейтинг: 0 / 0
22.02.2013, 15:06
    #38162374
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Код: vbnet
1.
   Debug.Print sHeaders



Server: nginx
Date: Fri, 22 Feb 2013 11:04:43 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
P3P: policyref=" http://betcityru.com/w3c/p3p.xml", CP="NON DSP ADM DEV PSD IVDo OUR IND STP PHY PRE NAV UNI"
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
...
Рейтинг: 0 / 0
24.02.2013, 18:20
    #38163829
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
авторПо идее, Вы УЖЕ авторизировались.
Ну наверное не совсем. По крайней мере в моём WebBrowser1 этого не видно.
И реакция на клики по ссылкам подтверждает, что не авторизован.
...
Рейтинг: 0 / 0
25.02.2013, 11:32
    #38164363
\
\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
   strURL = "http://betcityru.com/top.php"
   Set oHttp = CreateObject("MSXML2.XMLHTTP")
   oHttp.Open "POST", strURL, False
   Dim param
   ' вместо {логин} и {пароль} передаёте Ваши логин и пароль для авторизации на betcityru.com
   param = "login=" & {логин} & "&psw=" & {пароль}
   oHttp.Send param
   
   Debug.Print oHttp.getAllResponseHeaders

   ' получаете такие же заголовки, 
   ' как Вы указали в [msg=13967383] http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1005666&msg=13967383  ?

...
Рейтинг: 0 / 0
25.02.2013, 12:49
    #38164510
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Сейчас на 1 строку больше:
Server: nginx
Date: Mon, 25 Feb 2013 08:44:33 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
P3P: policyref=" http://betcityru.com/w3c/p3p.xml", CP="NON DSP ADM DEV PSD IVDo OUR IND STP PHY PRE NAV UNI"
Set-Cookie: PSF=39e670ec99aa50ce013b5f9c4f916dab; path=/ этой не было
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
...
Рейтинг: 0 / 0
25.02.2013, 14:06
    #38164693
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
alex77755,
в последующие запросы добавляете в печеньки то, что вам прислал сервер в заголовке Set-Cookie, и будет Вам щасте.
...
Рейтинг: 0 / 0
25.02.2013, 17:28
    #38165222
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добраться до ссылок на сайте
Насколько я понял это необязательный параметр запроса:
PostData - необязательный. Позволяет передать на Web-сервер данные, полученные в результате заполнения формы
И строка навигации будет выглядеть как-то так:
Код: vbnet
1.
WebBrowser1.Navigate MyURL, , , MyPostData


Но не нашёл пока в каком формате это должно выглядеть. Пробовал по разному:
Код: vbnet
1.
2.
3.
4.
5.
param = "Set-Cookie: PSF=39e670ec99aa50ce013b5f9c4f916dab; path=/"
param = "PSF=39e670ec99aa50ce013b5f9c4f916dab; path=/"
param = "39e670ec99aa50ce013b5f9c4f916dab; path=/"
'С дальнейшим:
WB.Navigate STrurl, , , param


Не авторизуется.
Как эти печеньки употреблять?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Добраться до ссылок на сайте / 25 сообщений из 30, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]