Dart webdriverでexecuteを使用してjsを実行する

Dart webdriverでexecuteを使用してjsを実行する

Dartのパッケージ「webdriver」で「execute」を使用してjsを実行するコードを記述してます。「execute」を使用するjavascriptが直接実行できるので便利です。

環境

  • OS windows11 home
  • Dart 2.18.4

webdriver

パッケージ「webdriver」は「pubspec.yaml」に追加してます。

name: sample
dependencies:
  webdriver: any
environment:
  sdk: '>=2.10.0 <3.0.0'

execute

実際に、実行してみます。「execute」は第一引数に「javascript」のコード、第二引数に「List」を使用します。ここでは、「formname」という「form」の「submit」を実行するコード例を記述しtめあす。

  //このuriのportはChromeDriverのポート
  var uri = Uri.parse('http://127.0.0.1:9515');

  String targetUri =
      'https://mebee.info';

  Future<WebDriver> driver = createDriver(uri: uri, spec: WebDriverSpec.xxx);

  driver.then((WebDriver wd) {
    wd.get(targetUri);
    wd.execute('document.formname.submit();', []);
  });

これを実行すると、chromeが起動してsubmitが実行されます。