WebDriverモジュール

Debug

WebDriver.Debug()

Version

モジュールのバージョンを返す。

WebDriver.Version()

HideCmd

WebDirver.Start()実行時にコマンドプロンプトを表示しません。

WebDriver.HideCmd()

Chrome

Chromeを起動。

WebDriver.Chrome(port = 9515, capabilities = ChromeCapabilities)
port
WebDriverの待受ポート番号を指定
capabilitres

ChromiumEdge

Edgeを起動。

WebDriver.ChromiumEdge(port = 9515, capabilities = ChromeCapabilities)
port
WebDriverの待受ポート番号を指定
capabilities

Edge

Edgeを起動。

WebDriver.Edge(port = 9515, capabilities = ChromeCapabilities)
port
WebDriverの待受ポート番号を指定
capabilities

EdgeLegacy

Edgeを起動。

WebDriver.EdgeLegacy(port = 9515, capabilities = EdgeCapabilities)
port
WebDriverの待受ポート番号を指定
capabilities

Firefox

Firefoxを起動。

WebDriver.Firefox(port = 9515, capabilities = ChromeCapabilities)
port
WebDriverの待受ポート番号を指定
capabilities

Start

Start(driverpath, port = 9515, option = EMPTY)
driverpath
Chrome…WebDriver.Chrome
新Edge…WebDriver.EdgeまたはWebDriver.ChromiumEdge
旧Edge…WebDriver.EdgeLegacy
Firefox…WebDriver.Firefox
それ以外のWebDriverはexeのフルパスを指定。
port
WebDriverの待受ポート番号を指定
option

Remote

driver = WebDriver.Remote(remotehost, port, capabilities)
remotehost
リモートPCのホスト名またはIPアドレス
port
Selenium standalone serverの待ち受けポート
capabilities
capabilitiesのjson文字列

Connect

driver = WebDriver.Connect(session)
session
webdriver.GetSession()で取得したセッション情報

CreateJSArray

WebDriver.CreateJSArray()

ParseJson

WebDriver.ParseJson(json)

StringifyJson

WebDriver.StringifyJson(obj)

GetLog

WebDriver.GetLog()

ClearLog

WebDriver.ClearLog()

Option

WebDriverOption = WebDriver.Option(browser)
browser
ブラウザ種別を表す文字列。chrome、edge、msedge、firefox。

プログラム実行例

Yahoo!検索

CALL UwscWebDriver.uws

driver = WebDriver.Chrome()

driver.Navigate(“http://yahoo.co.jp”)
element = driver.FindElement(“input[name=p]”)   // document.querySelector
element.SetValue(“UWSC”)

element = driver.FindElement(“button[type=submit]”)
element.Click()

    要素取得

    idがToolListのテキストを取得。

    CALL UwscWebDriver.uws
    
    driver = WebDriver.Chrome()
    
    driver.Navigate(“http://yahoo.co.jp”)
    PRINT driver.FindElement(By.id(“ToolList”)).getText()   // element = document.getElementById(“ToolList”) element.innerText

      新しいタブを操作

      CALL UwscWebDriver.uws
      
      DIM driver = WebDriver.Chrome()
      driver.Navigate(“http://google.com”)
      
      hFirst = driver.GetCurrentWindowHandle()
      
      driver.Navigate(“http://yahoo.co.jp”, “SecondTab”)
      
      hSecond = driver.SwitchWindow(“secondTab”)
      // driver.quit()
      
      driver.SwitchWindow(hFirst)
      driver.Navigate(“http://example.com”)
      
      //////////////////////////////////////////////////
      // 【引数】
      //   シリアル値 : 時間を表すシリアル値を指定 
      // 【戻値】
      //   
      //////////////////////////////////////////////////
      FUNCTION Second(serial)
      	RESULT = REPLACE(FORMAT(INT(serial * 86400) MOD 60, 2), " ", "0")
      FEND

        FindElementで要素の取得

        CALL UwscWebDriver.uws
        
        DIM driver = WebDriver.Chrome()
        driver.Navigate(“http://yahoo.co.jp”)
        
        DIM elements, element
        
        element = driver.FindElement(By.Id(“ToolList”))   // element = document.getElementById(“ToolList”)
        elements = element.FindElements(By.Tag(“li”))     // elements = element.getElementsByTagName(“li”)
        
        FOR element IN elements
        	PRINT element.getText()   // element.innerText
        NEXT
          結果
          ショッピング
          PayPayモール
          ヤフオク!
          PayPayフリマ
          ZOZOTOWN
          LOHACO
          トラベル
          一休.com
          一休.comレストラン
          出前館
          ニュース
          天気・災害
          スポーツナビ
          ファイナンス
          テレビ
          映画
          GYAO!
          LINE MUSIC
          ゲーム
          ebookjapan
          占い
          地図
          路線情報
          Retty
          クラシル
          スタンバイ
          不動産
          自動車
          TRILL
          mybest

          要素をクリック(FOR-IN-NEXT)

          CALL UwscWebDriver.uws
          
          DIM driver = WebDriver.Chrome()
          driver.Navigate(“http://yahoo.co.jp”)
          
          DIM elements, element
          
          element = driver.FindElement(By.Id(“ToolList”))
          elements = element.FindElements(By.Tag(“li”))
          
          FOR element IN elements
          	IF element.getText() = “ZOZOTOWN” THEN element.click()
          NEXT

            要素をクリック(配列)

            CALL UwscWebDriver.uws
            
            DIM driver = WebDriver.Chrome()
            driver.Navigate(“http://yahoo.co.jp”)
            
            DIM elements, element
            
            element = driver.FindElement(By.Id(“ToolList”))
            elements = element.FindElements(By.Tag(“li”))
            
            elements[0].click()