Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

ie.au3 problem z dobraniem się do obiektu


Rekomendowane odpowiedzi

Opublikowano

Witam. 
Bawię się od wczoraj w pisanie bota do strony gdzie gra się na ruletce.
Niestety napotkał mnie niemały problem. 

<div id="past">
<div data-rollid="259285" class="ball ball-1">2</div>
<div data-rollid="259286" class="ball ball-0">0</div>
<div data-rollid="259287" class="ball ball-1">2</div>
<div data-rollid="259288" class="ball ball-8">8</div>
<div data-rollid="259289" class="ball ball-8">12</div>
<div data-rollid="259290" class="ball ball-8">13</div>
<div data-rollid="259291" class="ball ball-1">1</div>
<div data-rollid="259292" class="ball ball-1">3</div>
<div data-rollid="259293" class="ball ball-8">8</div>
<div data-rollid="259294" class="ball ball-8">13</div>
</div>

Muszę jakoś wyciągnąć informację co wypadło ostatnio żeby sprawdzić czy wygrałem i tu pojawia się problem..
data-rollid="259294" niestety zmienia się co rundę tak samo jak classa różni się w zależności od tego co wypadło. 

Czytałem o xpath ale oczywiście nie jest to takie proste ponieważ 10 linia ma właśnie taki

//*[@id=past]/div[10]

A nie do końca wiem jak to przełożyć na autoit.
Jeżeli ktoś wie jak tego dokonać lub mógłby mnie nakierować na temat który mi to ułatwi będę bardzo wdzięczny. 

v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
 

Opublikowano


#include <String.au3>

$a = '<div data-rollid="259285" class="ball ball-1">2</div>' ; tu sobie zmień dane na te ze strony

$b = _StringBetween($a,' class="ball ball-','/div>')

If UBound($B) > 0 Then

For $c = 0 To UBound($B) - 1 Step 1

$d = _StringBetween($b[$c],'>','<')

If Not @error Then

MsgBox(64,'',$d[0])

EndIf

Next

EndIf

 

Opublikowano

Nie do końca mi o to chodziło chyba. 
Chodzi tutaj raczej jak za pomocą ie.au3 odnieść się do lini nr.10 która za każdym razem wygląda inaczej 
 

$oElement = $oIE.document.body _
    .getElementsByTagname("div").item(7) _
    .getElementsByTagname("div").item(4) _
    .getElementsByTagname("div").item(0) _
    .getElementsByTagname("div").item(10) 
   

Próbowałem o tak dojść do tej linijki jednak to chyba nie tak działa. 
Nigdzie nie mogę znaleźć dobrego wytłumaczenia jak dojść do tej linijki za pomocą xpath w ie.au3. 
 

xpath do tej linii 

//*[@id="past"]/div[10]

jeżeli ktoś wie  jak wyciągnąć z ostatniej linii informacje o tym czy wylosowało ball ball-1 czy ball ball-8 lub jaka wypadła cyfra. help:) 
Lub może jakieś inne pomysły jak się do tego dobrać?

v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
 

Opublikowano


#include <String.au3>

#include <IE.au3>

$oIE = _IECreate("www.jakasstrona.pl",) ; tu sobie ustaw swoja strone

$a = _IEBodyReadHTML($oIE)

$b = _StringBetween($a,' class="ball ball-','/div>')

If UBound($B) > 0 Then

$d = _StringBetween($b[UBound($B) - 1 ],'>','<')

If Not @error Then

MsgBox(64,'',$d[0])

EndIf

EndIf

 

Opublikowano

Chciałbym żeby to było takie proste naprawdę. 
Ale niestety nie jest.
Twój sposób nie zadziała ponieważ _IEBodyReadHTML zwraca jakieś głupot próbowałem już tego rano. 
Jedyne co mi się udało to wczytać wartość z pierwszej linijki gdzieś koło południa co mnie niestety nie ratuje. 
 

v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
 

Opublikowano

Chciałbym żeby to było takie proste naprawdę. 

Ale niestety nie jest.

Twój sposób nie zadziała ponieważ _IEBodyReadHTML zwraca jakieś głupot próbowałem już tego rano. 

Jedyne co mi się udało to wczytać wartość z pierwszej linijki gdzieś koło południa co mnie niestety nie ratuje. 

 

To jest b.proste, ale bez strony nie mam jak to sprawdzić.

Opublikowano

Tak teraz patrze że faktycznie tych elementów nie ma w $a = _IEBodyReadHTML($oIE) 
Pierw muszę się zalogować dopiero one się pojawiają. Małe niedopatrzenie ponieważ sprawdzam to w chrome a działa w ie. 
Zaraz to sprawdzę i jak coś napiszę. 
 

 

Heh. 
Takie proste a przez to że używam 2 różnych przeglądarek walczyłem z tym od rana. 
Wielkie dzięki. :)

v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...