Что нового

Автоматизация работы Chrome

dumoed

Знающий
Сообщения
34
Репутация
5
решил реанимировать тему, ибо удалось добиться определенных успехов на данном поприще. Для начала хотелось бы узнать у кого-нибудь получилось скомпилировать autoit скрипт, чтобы в нем запускался chromedriver.exe?
 
Автор
D

dumoed

Знающий
Сообщения
34
Репутация
5
А где сама тема ?
Отличный вопрос, уже и не вспомню, по всей видимости была, открыта, но конкретики не было. Спустя время могу кое-что отписать, но от хрома ушел на мозиллу. По большому счету принцип один и тот же. Для хрома нужен chromedriver.exe. В случае с мозиллой использую гекодрайвер (прилагается). Простейший скрипт для выдергивания значения элемента на странице.
Сообщение автоматически объединено:

Код:
#include <WindowsConstants.au3>
;#include <Date.au3>
; non standard UDF's
#include "wd_helper.au3"
#include "wd_core.au3"
#include "wd_capabilities.au3"


Local $sDesiredCapabilities, $sSession

;Run ("C:\Program Files (x86)\AutoIt3\geckodriver.exe")
Sleep (1000)

    ; Execute browser driver
    SetupGecko()
    _WD_Startup()
    $sSession = _WD_CreateSession($sDesiredCapabilities)
    ConsoleWrite("+Running: " & "OurScript" & @CRLF)
                Call("OurScript")
_WD_DeleteSession($sSession)
    _WD_Shutdown()

Func OurScript() ;OUR SCRIPT

_WD_Navigate($sSession, "https://news.com/finance/")

Sleep (700);special sleep

;While 1 ;loop to catch our element
; чтобы захватить элемент необходимо, подсмотреть его XPath, для этого следует вызвать окно Chrome DevTools (аналогично в файрфокс), выделить нужный элемент, кликнув правой клавишей мыши, вызвать контекстное меню, выбрать команду Copy , а затем Copy full XPath.
$sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "/html/body/div[3]/div[1]/section/div[1]/div[3]/div[3]/div/ul/div/div/li[1]/div[1]/span[2]")
;$sValue = _WD_ElementAction($sSession, $sElement, 'property', 'value')
$sValue = _WD_ElementAction($sSession, $sElement, "TEXT", "");тут получаем текстовое значение элемента

;Wend

EndFunc


Func SetupGecko()
    _WD_Option('Driver', 'geckodriver.exe')
    _WD_Option('DriverParams', '--log trace')
    _WD_Option('Port', 4444)

     $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"browserName": "firefox", "acceptInsecureCerts":true}}}'
EndFunc   ;==>SetupGecko

Сообщение автоматически объединено:

запуск сайта
Код:
#include <WindowsConstants.au3>

; non standard UDF's
#include "wd_helper.au3"
#include "wd_core.au3"
#include "wd_capabilities.au3"

Local $sDesiredCapabilities, $sSession

;Run ("C:\Program Files (x86)\AutoIt3\geckodriver.exe")
Sleep (1000)
  
    SetupGecko(); Execute browser driver
    _WD_Startup()
    $sSession = _WD_CreateSession($sDesiredCapabilities)

    ConsoleWrite("+Running: " & "OurScript" & @CRLF)
                Call("OurScript")

;_WD_DeleteSession($sSession)
    _WD_Shutdown()

Func OurScript();OUR SCRIPT

_WD_Navigate($sSession, "https://news.com/") ; запускаем нужный сайт
_WD_NewTab($sSession, Default, Default, "https://news2.ru/"); еще один в новой вкладке


EndFunc   ;==>DemoScript

Func SetupGecko()
    _WD_Option('Driver', 'geckodriver.exe')
    _WD_Option('DriverParams', '--log trace')
    _WD_Option('Port', 4444)

     $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"browserName": "firefox", "acceptInsecureCerts":true}}}'
EndFunc   ;==>SetupGecko
 

Вложения

  • geckodriver.zip
    1.4 МБ · Просмотры: 11
  • wd_capabilities.au3
    24.2 КБ · Просмотры: 10
  • wd_core.au3
    70 КБ · Просмотры: 10
  • wd_helper.au3
    99.1 КБ · Просмотры: 10
Последнее редактирование:
Верх