SikuliX:Seleniumを使用する

Seleniumの使い所

  • Webアプリで使用(WindowsネイティブアプリはUIAutomationを使用)
  • SikuliXは画像や座標で項目の位置を特定するので開発機と実行機のモニター解像度が異なると処理に失敗することがある。SeleniumではUI要素を名前やIDで特定でき、値も直接セットできるので失敗がなくレスポンスも良い。

シナリオ

  • Windows10のSikuliXからSeleniumを使用する
  • ブラウザはChrome
  • Selenium(chromedriver.exe)はc:\seleniumにインストールする
  • インストール後サンプルコードを実行し動作確認する。
    • ブラウザ(Chrome)でヤフーのサイトを開き10秒後ブラウザを閉じる

Seleniumのインストール

※pipを使用しない手動インストール
 
1.chromedriverのダウンロード
 ※現在使用中のChromeのバージョンと合わせる。この例では89


 chromedriver_win32.zipをダウンロード&解凍しchromedriver.exeをc:\seleniumに保存する
 ※この例ではC:\seleniumだがどこでも良い

2.seleniumライブラリのダウンロード

ダウンロード&解凍しseleniumフォルダを下記フォルダにコピーする
C:\Users\<ユーザー名>\AppData\Roaming\Sikulix\Lib

 seleniumフォルダは下記の階層にありフォルダごとコピーする
 selenium-3.141.0.tar\dist\selenium-3.141.0\selenium

3.urllib3のダウンロード
 ※urllib3はseleniumライブラリで使用する。これがないとimport時エラーになる
            ダウンロード&解凍しurllib3フォルダを下記フォルダにコピー
C:\Users\<ユーザー名>\AppData\Roaming\Sikulix\Lib

urllib3フォルダは下記の階層にありフォルダごとコピーする
urllib3-1.26.3.tar\dist\urllib3-1.xx.x\urllib3-x.xx.x\src\urllib3

サンプルコード

ブラウザ(Chrome)でヤフーのサイトを開き10秒後ブラウザを閉じる
import sys
from selenium import webdriver 

reload(sys)
sys.setdefaultencoding("utf-8")

driver=webdriver.Chrome(executable_path=u"C:\\selenium\\chromedriver.exe")
driver.get("https://www.yahoo.co.jp")
wait(10)
driver.quit()