1. Perl
  2. モジュール
  3. here

Selenium::Remote::Driver - JavaScript対応のWebスクレイピング - 日本語訳

Selenium::Remote::Driver-Seleniumリモートドライバー用のPerlクライアントの日本語訳です。自動翻訳・一部翻訳未。

Selenium::Remote::Driver - CPAN

バージョン

バージョン1.38

概要

use Selenium::Remote::Driver;
my $driver = Selenium::Remote::Driver->new; $driver->get('<a href="http://www.google.com">http://www.google.com</a>');<div>print $driver->get_title(); $driver->quit();

説明

Seleniumは、主流のJavaScript対応ブラウザーを使用して、任意のHTTPWebサイトに対して任意のプログラミング言語で自動化されたWebアプリケーションUIテストを作成できるようにするテストツールです。このモジュールは、Seleniumが提供するリモートドライバーのクライアントの実装です。この場所で他の言語のバインディングを見つけることができます:

https://www.seleniumhq.org/download/

このモジュールは、HTTPを使用してコマンドをサーバーに直接送信します。このモジュールをSeleniumサーバーと一緒に使用すると、サポートされているブラウザーを自動的に制御できます。このモジュールを使用するには、Seleniumサーバーをダウンロードして起動している必要があります(SeleniumサーバーはJavaアプリケーションです)。

使用法

スタンドアロン - サーバーなし

v0.25以降、スタンドアロンサーバーなしでこのモジュールを使用することが可能です。つまり、Seleniumテストを実行するためにJREまたはJDKは必要ありません。詳細については、Selenium::ChromeSelenium::PhantomJSSelenium::EdgeSelenium::InternetExplorer、およびSelenium::Firefoxを参照してください。これら以外の追加のブラウザーが必要な場合は、Githubでホラーを提供してください。

リモートドライバーの応答

Selenium::Remote::Driverは、JsonWireProtocolWC3WebDriverプロトコルを使用してSeleniumサーバーと通信します。コマンドの実行中にエラーが発生した場合、サーバーは、正確な応答エラーコードを示すJSONエンコードされた応答を含むHTTPエラーコードを送り返します。その後、モジュールはこのコードに関連付けられたエラーメッセージで鳴きます。エラーが発生しなかった場合、呼び出されたサブルーチンはサーバーから返送された値を返します(戻り値が送信された場合)。

したがって、ドライバーでメソッドを呼び出す際の経験則では、呼び出されたときにメソッドが鳴らなかった場合、メソッドから何も返されなくても、コマンドは成功したと安全に見なすことができます。

WebElement

Selenium Webdriverは、すべてのHTML要素をWebElementとして表し、WebElementはSelenium::Remote::WebElementモジュールによって表されます。したがって、WebElementsを処理するメソッドは、WebElementオブジェクトを返すか期待します。そのモジュールのPODは、クリック、送信など、WebElementでさまざまなアクションを実行するすべてのメソッドを記述します。

WebElementを操作するには、最初にWebElementを「検索」する必要があります。詳細については、PODのfind_elementまたはfind_elementsを参照してください。必要な要素を見つけたら、さまざまなアクションを実行できます。最初にfind_ *メソッドを呼び出さないと、その要素に対してそれ以降のすべてのアクションが失敗します。最後に、WebElementオブジェクトをインスタンス化する必要はまったくないことを覚えておいてください。find_*メソッドを使用すると、オブジェクトは自動的に作成されます。

Selenium::Remote::WebElementのサブクラスは、コンストラクターのオプションとしてそのクラス名を提供することにより、Selenium::Remote::WebElementの代わりに使用できます。

my $driver = Selenium::Remote::Driver->new( webelement_class => ... );

たとえば、testing-subclassは、テストメソッドを使用してWeb要素オブジェクトを拡張できます。

LWP読み取りタイムアウトエラー

デフォルトのLWP::UserAgentタイムアウトよりも時間がかかるSelenium呼び出しを行うことができます。たとえば、非同期スクリプトのタイムアウトをLWP::UserAgentのタイムアウトよりも大きく設定してから、長時間実行されているjavascriptの非同期スニペットを実行すると、次のようなエラーがすぐにトリガーされます。

Error while executing command: executeAsyncScript: Server returned
error message read timeout at...

これを回避するには、LWPのタイムアウト値を構成します。独自のLWPを作成し、インスタンス化中に::Driverに渡します。

my $timeout_ua = LWP::UserAgent->new;
$timeout_ua->timeout(360); # this value is in seconds!
my $d = Selenium::Remote::Driver->new( ua => $timeout_ua );

または、必要に応じてその場でタイムアウトを構成します。

use feature qw/say/;
use Selenium::Remote::Driver;
my $d = Selenium::Remote::Driver->new;
say $d->ua->timeout; # 180 seconds is the default
$d->ua->timeout(2); # LWP wants seconds, not milliseconds!
$d->set_timeout('script', 1000); # S::R::D wants milliseconds!
# Async scripts only return when the callback is invoked. Since there
# is no callback here, Selenium will block for the entire duration of
# the async timeout script. This will hit Selenium's async script
# timeout before hitting LWP::UserAgent's read timeout
$d->execute_async_script('return "hello"');
$d->quit;

テスト

このモジュールを使用して自動テストを作成している場合は、このディストリビューションにも含まれているTest::Selenium::Remote::Driverに興味があるかもしれません。ここで利用可能な多くのセレンメソッドの便利なテストメソッドが含まれています。

他のオプションは、このモジュールを、Test::SpecTest::Moreなどの選択したテストモジュールと組み合わせて使用​​することです。

WC3WEBDRIVERの互換性

WC3 Webdriverは常に進化している標準であるため、特定の時点で機能する場合と機能しない場合があります。

さらに、古いドライバーはおそらくWD3として識別されますが、いくつかのメソッドを実装し、JSONWire機能を保持しています。これに対処する1つの方法は、次のように設定することです。

$driver->{is_wd3} = 0

もちろん、これにより新しいWC3メソッドにアクセスできなくなりますが、ブラウザーのドライバーが一緒に動作するようになるまで、テストに合格する可能性があります。

Selenium::Remote::WebElement::get_attributeなど、メソッドでエミュレートするJSONWireの動作もいくつかあります。これを回避するには、サブに追加のフラグを渡すか、次のように設定します。

$driver->{emulate_jsonwire} = 0;

WC3Webdriverモードの場合。

ファインダー

この定数は、wd2からwd3までの古い要素ファインダーエイリアスのhashrefマップです。

use Data::Dumper;
print Dumper($Selenium::Remote::Driver::FINDERS);

WC3WEBDRIVERの現在のステータス

そうは言っても、モジュールのat /(受け入れテスト)ディレクトリにある次の「サニティテスト」は、次のバージョンで渡されました。

Seleniumサーバー:3.8.1-すべてのテスト
geckodriver:0.19.1-at / sanity.test、at / firefox.test(Selenium::Firefox)
chromedriver:2.35-at / sanity-chrome.test、at / chrome.test(Selenium::Chrome)
エッジドライバー:5.16299-at / sanity-edge.test
InternetExplorerDriver:3.8.1-at / sanity-ie.test(「詳細設定」ペインで「ローカルファイルがアクティブコンテンツを実行できるようにする」を必ず有効にしてください)
safaridriver:11.0.2-at / sanity-safari.test(開発者メニューで「自動テストを許可する」を必ず有効にしてください)-WC3仕様は*未実装*のようです

これらのテストは、上記のドライバーが構成されたローカルホスト上の動作中のセレニウムサーバーに対して直接実行することを目的としています。

ドライバーのバージョン(およびその他のいくつかの癖)で「機能するものと機能しないもの」について知りたい場合は、テストが目的のメソッドを呼び出す場所を確認することを強くお勧めします。

他のブラウザ/ドライバ(特にレガシーブラウザ)も正常に動作する可能性がありますが、上記にリストされていない場合、新しいブラウザ/ドライバで問題が発生する可能性があります。

古いブラウザ/セレン(2.xサーバー、geckodriver以前)に対して実行できる「legacy.test」ファイルもあります。これは、下位互換性が損なわれていないことを確認するためにのみ使用する必要があります。

Firefoxノート

geckodriverを使用してWD3対応サーバー上のfirefoxにextra_capabilitiesを渡す場合は、次のことを行う必要があります。

$Selenium::Remote::Driver::FORCE_WD3=1;

これは、geckoドライバーがレガシー機能を好むためです。レガシー機能は通常、互換性の理由から渡されます。

Chromeノート

chromedriverが有効になっているWD3対応サーバーでextra_capabilitiesを渡す場合は、chromeOptionsの代わりにオプションgoog:chromeOptionsを使用してください。


また、オブジェクトをWC3モード(デフォルト)でインスタンス化すると、リモートドライバーは、geckodriverのように該当する場合はJSONWireメソッドにフォールバックするのではなく、キャッチする以外に選択肢のない例外をスローします。

chrome 75(および適切なドライバーバージョン)の時点で、WC3仕様がついに実装されました。そのため、これより古いChromeを使用するには、JSONWireモードを手動で強制する必要があります。

$Selenium::Remote::Driver::FORCE_WD2=1;

selenium.jarを介したSeleniumの大規模な実行に関する注意

多くのテストを並行して実行すると、最終的にリソースが枯渇する可能性があります。爆発を回避するために、SeleniumJARにクリーンアップを実行するように指示する必要があります。

セレニウムサーバーのnode.json(グリッドを実行)の内部に、次のように入力します。

"configuration":{"cleanUpCycle":2000}または、-cleanupCycleパラメーターを指定してSeleniumjarを実行します。もちろん、状況に適した秒数を使用してください。

コンストラクタ

new

セレニウムサーバーとの通信が確立できない場合は終了します。

入力:(すべてオプション)

必要な機能-ハッシュ-次のオプションが受け入れられます。

remote_server_addr- <string> -WebdriverサーバーマシンのIPまたはFQDN。デフォルト: 'localhost'
port- <文字列> -ポートwebdriverをサーバが受信しています。デフォルト:4444
browser_name- <string>-目的のブラウザー文字列:{phantomjs | firefox | Internet Explorer | MicrosoftEdge | safari | htmlunit | iphone | chrome}
version-<文字列>-目的のブラウザのバージョン番号
platform-<文字列>-目的のプラットフォーム:{WINDOWS | XP | VISTA | MAC | LINUX | UNIX | ANY}
accept_ssl_certs- <boolean> -SSL証明書を受け入れるかどうか。デフォルトはtrueです。
firefox_profile-プロファイル-Selenium::Firefox::Profileを使用して、ブラウザが使用するFirefoxプロファイルを作成します。
javascript- <boolean> -Javascriptを使用するかどうか。代わりにWWW::Mechanizeを使用するため、おそらくこれを無効にすることはありません。デフォルト:True
auto_close- <boolean>-オブジェクトがスコープ外になったときにサーバー上のブラウザセッションを自動的に閉じるかどうか。デフォルト:False。
default_finder- <string>-セレクターを評価するためのデフォルトの方法。デフォルト: 'xpath'
session_id- <string>-リモートサーバー上のブラウザセッションをハイジャックするためのセッションIDを提供します。マイクロオプティマイザーに役立ちます。デフォルト:undef
pageLoadStrategy -文字列-OPTIONAL、 'normal | eager | none'。デフォルトの「通常」。WebDriver3のみ。
extra_capabilities - ハッシュ-その他の追加機能。使用できるキーはブラウザによって異なります。firefox_profileが渡されると、渡された方法に応じて、args(またはprofile)キーが上書きされます。

WebDriver3では、「extra_capabilities」がブラウザに必要なパラメータに自動的に変換されます。たとえば、extra_capabilitiesはmoz:firefoxOptionsパラメーターとしてサーバーに渡されます。

コンストラクターハッシュで、ブラウザー関連の目的の機能の一部ではないいくつかのオプションを指定することもできます。

auto_close- <boolean>-ドライバーがクローズ時にリモートサーバーでセッションを終了するかどうか。
base_url- <string>-オプション、Seleniumが動作するWebサイトのベースURL。これにより、$ driver-> get()を呼び出すたびにドメインを繰り返す必要がなくなります。
default_finder- <string> -find_element *に使用されるデフォルトのファインダーを選択します* {class | class_name | css | id | link | link_text | name | partial_link_text | tag_name | xpath}
inner_window_size- <aref [Int]>-インスタンス化直後にブラウザウィンドウが初期サイズとして使用する配列ref [height、width]
error_handler -CODEREF-例外が発生した場合に呼び出すCODEREF。詳細については、「error_handler」を参照してください。
webelement_class- <string>-代替のWebElementクラスを使用する場合は、Selenium::Remote::WebElementのサブクラス。
ua -LWP::UserAgentインスタンス-Test::LWP::UserAgentのように、特定の$ uaを使用する場合
proxy -ハッシュ-次のキーを使用したプロキシ構成:
proxyType- <string>-必須、可能な値は次のとおりです。
direct - A direct connection - no proxy in use,
manual - Manual proxy settings configured, e.g. setting a proxy for HTTP, a proxy for FTP, etc,
pac - Proxy autoconfiguration from a URL,
autodetect - proxy autodetection, probably with WPAD,
system - Use system settings
proxyAutoconfigUrl- <string> -proxyTypeが 'pac'の場合は必須、それ以外の場合は無視されます。予想される形式:http://hostname.com:1234 / pacfileまたはfile:/// path / to / pacfile
ftpProxy- <string>-オプション。proxyTypeが「manual」でない場合は無視されます。予想される形式:hostname.com:1234
httpProxy- <string>-オプション。proxyTypeが「manual」でない場合は無視されます。予想される形式:hostname.com:1234
sslProxy- <string>-オプション。proxyTypeが「manual」でない場合は無視されます。予想される形式:hostname.com:1234
socksProxy- <string>-オプション。proxyTypeが「manual」でない場合は無視されます。予想される形式:hostname.com:1234。WebDriver3のみ。
socksVersion- <int>-オプション。proxyTypeが「manual」でない場合は無視されます。WebDriver3のみ。
noProxy- <配列>-オプション、プロキシをバイパスするURLのリスト。WebDriver3のみ。
firefox_profile- <string> -FirefoxプロファイルディレクトリのBase64エンコードZIPファイル。Selenium::Firefox::Profileが不要な場合に使用します。

出力:

Selenium::Remote::Driverオブジェクト

使用法:

my $driver = Selenium::Remote::Driver->new;
#or
my $driver = Selenium::Remote::Driver->new('browser_name' => 'firefox',
'platform' => 'MAC');
#or (for Firefox 47 or lower on Selenium 3+)
my $driver = Selenium::Remote::Driver->new('browser_name' => 'firefox',
'platform' => 'MAC',
'extra_capabilities' => {
'marionette' => \0,
});
#or
my $driver = Selenium::Remote::Driver->new('remote_server_addr' => '10.10.1.1',
'port' => '2222',
'auto_close' => 0);
#or
my $driver = Selenium::Remote::Driver->new('browser_name' =>'chrome',
'extra_capabilities' => {
'goog:chromeOptions' => {
'args' => [
'window-size=1260,960',
'incognito'
],
'prefs' => {
'session' => {
'restore_on_startup' => 4,
'urls_to_restore_on_startup' => [
]},
'first_run_tabs' => [
]
}
}
});
#or
my $driver = Selenium::Remote::Driver->new('proxy' => {'proxyType' => 'manual', 'httpProxy' => 'myproxy.com:1234'});
#or
my $driver = Selenium::Remote::Driver->new('default_finder' => 'css');
error_handler
clear_error_handler

オプションのコンストラクター引数と関連するセッター/クリアラー:独自のエラーハンドラーをインストールする場合は、error_handlerインスタンス化中に次のようにコードrefを渡すことができます。

my $driver = Selenium::Remote::Driver->new(
error_handler => sub { print $_[1]; croak 'goodbye'; }
);

さらに、すでにインスタンス化されているドライバーでいつでも設定および/またはクリアできます。

# later, change the error handler to something else
$driver->error_handler( sub { print $_[1]; croak 'hello'; } );
# stop handling errors manually and use the default S:R:D behavior
# (we will croak about the exception)
$driver->clear_error_handler;

エラーハンドラは3つの引数を受け取ります。最初の引数は$driverオブジェクト自体であり、2番目の引数は例外メッセージと1つの複数行文字列のスタックトレースです。最後の引数は、実行されたばかりのコマンドの引数配列です。

N.B.: If you set your own error handler, you are entirely responsible for handling webdriver exceptions, _including_ croaking behavior. That is, when you set an error handler, we will no longer croak on Webdriver exceptions - it's up to you to do so. For consistency with the standard S:R:D behavior, we recommend your error handler also croak when it's done, especially since your test shouldn't be running into unexpected errors. Catching specific or desired errors in your error handler makes sense, but not croaking at all can leave you in unfamiliar territory. Reaching an unexpected exception might mean your test has gone off the rails, and the further your test gets from the source of the of the exception, the harder it will be to debug.

NB:四つの方法は、まだ自分でcroakします:"find_element" "find_elements" "find_child_element" 、および"find_child_elementsを"。これらのメソッドがWebdriverExceptionをスローした場合でも、エラーハンドラーは内部で呼び出され、eval使用されたロケーターとストラテジーを示す独自のエラーメッセージが鳴り響きます。したがって、要素を検索するときに例外を回避するための戦略は変わりません(find_elementsを使用して返される配列サイズを確認するか、find_element *への呼び出しをでラップするevalか、パラメーター化されたバージョンのfind_element_ *を使用します)。

new_from_caps

For experienced users who want complete control over the desired
capabilities, use this alternative constructor along with the
C<desired_capabilities> hash key in the init hash. Unlike "new",
this constructor will not assume any defaults for your desired
capabilities.
This alternate constructor IGNORES all other browser-related
desiredCapability options; the only options that will be respected
are those that are NOT part of the Capabilities JSON Object as
described in the Json Wire Protocol.

入力:

The only respected keys in the input hash are:
desired_capabilities - ハッシュREF - defaults to {}
remote_server_addr - 文字列 - defaults to localhost
port - 整数EGER - defaults to 4444
default_finder - 文字列 - defaults to xpath
webelement_class - 文字列 - defaults to Selenium::Remote::WebElement
auto_close - ブール値 - defaults to 1
error_handler - CODEREF - defaults to croaking on exceptions
Except for C<desired_capabilities>, these keys perform exactly the
same as listed in the regular "new" constructor.
The hashref you pass in as desired_capabilities only gets json
encoded before being passed to the Selenium server; no default
options of any sort will be added.
This means you must handle normalization and casing of the input
options (like "browser_name" vs "browserName") and take care of
things like encoding the firefox profile if applicable. More
information about the desired capabilities object is available on
the Selenium wiki:
https://code.google.com/p/selenium/wiki/JsonWireProtocol#Capabilities_JSON_Object

出力:

Remote Driver object

使用方法:

<div>my $driver = Selenium::Remote::Driver->new_from_caps(</div><div>'desired_capabilities' =&gt; {'browserName' =&gt; 'firefox'}</div><div>);<div></div><div>The above would generate a POST to the webdriver server at</div><div>localhost:4444 with the exact payload of '{"desiredCapabilities":</div><div>{"browserName": "firefox" }}'.</div>

方法

new_session(extra_capabilities)

サーバー上で新しいセッションを作成します。new()によって呼び出され、通常の使用を目的としていません。

ブロワーのクラッシュから回復するのに時々便利です。

デンジャーデンジャーデンジャー

これにより、古いセッションを閉じていない場合は破棄されます。

デンジャーデンジャーデンジャー

new_desired_session(capabilities)

基本的にnew_sessionと同じですが、キャップが付いています。new_from_capsに類似したものです。

is_webdriver_3

サーバー(またはブラウザー)がWebdriver 3を実装していると見なすかどうかを出力します。これがtrueを返す場合、呼び出しようとしているメソッドのアクションがSelenium::Remote::Specに存在する場合、Webdriver3メソッドが使用されます。呼び出しているメソッドに同等のWebdriver3(またはブラウザー拡張機能)がない場合、Selenium::Remote::Commandsで実装されているレガシーコマンドが使用されます。

上記の*考え*の言い方に注意してください。レガシーメソッドの使用を強制する場合は、さまざまなブラウザの問題を回避するように$ driver-> {is_wd3}を設定します。

debug_on

Turns on debugging mode and the driver will print extra info like request
and response to stdout. Useful, when you want to see what is being sent to
the server & what response you are getting back.

使用方法:

$driver->debug_on;

debug_off

Turns off the debugging mode.

使用方法:

$driver->debug_off;

get_sessions

Returns a list of the currently active sessions. Each session will be
returned as an array of Hashes with the following keys:
'id' : The session ID
'capabilities: An object describing session's capabilities

出力:

Array of Hashes

使用方法:

<div>print Dumper $driver->get_sessions();

status

Query the server's current status. All server implementations
should return two basic objects describing the server's current
platform and when the server was built.

出力:

Hash ref

使用方法:

<div>print Dumper $driver->status;

get_alert_text

Gets the text of the currently displayed JavaScript alert(), confirm()
or prompt() dialog.
Example
my $string = $driver->get_alert_text;

send_keys_to_active_element

Send a sequence of key strokes to the active element. This command is
similar to the send keys command in every aspect except the implicit
termination: The modifiers are not released at the end of the call.
Rather, the state of the modifier keys is kept between calls, so mouse
interactions can be performed while modifier keys are depressed.
Compatibility:
On webdriver 3 servers, don't use this to send modifier keys; use send_modifier instead.

入力1:

<div>必須:</div><div>{配列 | 文字列} - Array of strings or a string.</div><div></div>

<b>使用方法:</b>
<pre>
$driver->send_keys_to_active_element('abcd', 'efg');
$driver->send_keys_to_active_element('hijk');<div></div><div>or</div><div></div><div># include the WDKeys module</div><div>use <a href="/pod/Selenium::Remote::WDKeys">Selenium::Remote::WDKeys</a>;
$driver->send_keys_to_active_element(KEYS->{'space'}, KEYS->{'enter'});

send_keys_to_alert

send_keys_to_promptと同義

send_keys_to_prompt

Sends keystrokes to a JavaScript prompt() dialog.

入力:

{string} keys to send
Example:
$driver->send_keys_to_prompt('hello world');
or
ok($driver->get_alert_text eq 'Please Input your name','prompt appears');

$driver->send_keys_to_alert("Larry Wall");

$driver->accept_alert;

accept_alert

Accepts the currently displayed alert dialog. Usually, this is
equivalent to clicking the 'OK' button in the dialog.
Example:
$driver->accept_alert;

dismiss_alert

Dismisses the currently displayed alert dialog. For comfirm()
and prompt() dialogs, this is equivalent to clicking the
'Cancel' button. For alert() dialogs, this is equivalent to
clicking the 'OK' button.
Example:
$driver->dismiss_alert;

general_action

Webドライバーが入力デバイスを使用できるように、「アクション定義」ハッシュを提供します。このデータの構造の仕様が「非規範的」であることを考えると、この関数の使用方法に関してそれが何を意味するかは読者の練習問題として残されています。

そうは言っても、ほとんどのデータは次のようになっているようです。

$driver->general_action( actions => [{
type => 'pointer|key|none|somethingElseSuperSpecialDefinedByYourBrowserDriver',
id => MUST be mouse|key|none|other. And by 'other' I mean anything else. The first 3 are 'special' in that they are used in the global actions queue.
If you want say, another mouse action to execute in parallel to other mouse actions (to simulate multi-touch, for example), call your action 'otherMouseAction' or something.
parameters => {
someOption => "basically these are global parameters used by all steps in the forthcoming "action chain".
},
actions => [
{
type => "keyUp|KeyDown if key, pointerUp|pointerDown|pointerMove|pointerCancel if pointer, pause if any type",
key => A raw keycode or character from the keyboard if this is a key event,
duration => how many 'ticks' this action should take, you probably want this to be 0 all of the time unless you are evading Software debounce.
button => what number button if you are using a pointer (this sounds terribly like it might be re-purposed to be a joypad in the future sometime)
origin => Point of Origin if moving a pointer around
x => unit vector to travel along x-axis if pointerMove event
y => unit vector to travel along y-axis if pointerMove event
},
...
]
},
...
]
)

WebDriver3対応のセレニウムサーバーでのみ使用できます。

以前にmouse_move_to_location()などのレガシーシムを呼び出したことがある場合、渡されたアクションは既存のアクションキューに追加されます。引数なしで呼び出され、既存のアクションキューを実行するだけです。

現在Selenium::Remote::Driverの一部ではないプリベークされたアクションチェーンを探している場合は、代わりにこのディストリビューションに付属しているSelenium::ActionChainsを検討してください。

release_general_action

軌道から*すべて*の入力デバイス状態(修飾キーの上下、ポインターボタンの上下、ポインターの位置、およびその他のデバイスの状態)を削除します。提供されたアクションチェーンで* Upイベントを実行するのを忘れた場合、または単に時間を節約するために電話してください。

また、現在のアクションキューをクリアします。

WebDriver3対応のセレニウムサーバーでのみ使用できます。

mouse_move_to_location

Move the mouse by an offset of the specificed element. If no
element is specified, the move is relative to the current mouse
cursor. If an element is provided but no offset, the mouse will be
moved to the center of the element. If the element is not visible,
it will be scrolled into view.
Compatibility:
Due to limitations in the Webdriver 3 API, mouse movements have to be executed 'lazily' e.g. only right before a click() event occurs.
This is because there is no longer any persistent mouse location state; mouse movements are now totally atomic.
This has several problematic aspects; for one, I can't think of a way to both hover an element and then do another action relying on the element staying hover()ed,
Aside from using javascript workarounds.

出力:

文字列 -

使用方法:

<div># element - the element to move to. If not specified or is null, the offset is relative to current position of the mouse.</div><div># xoffset - X offset to move to, relative to the top-left corner of the element. If not specified, the mouse will move to the middle of the element.</div><div># yoffset - Y offset to move to, relative to the top-left corner of the element. If not specified, the mouse will move to the middle of the element.</div><div></div><div>print $driver->mouse_move_to_location(element =&gt; e, xoffset =&gt; x, yoffset =&gt; y);

move_to

mouse_move_to_locationと同義

get_capabilities

Retrieve the capabilities of the specified session.

出力:

ハッシュ of all the capabilities.

使用方法:

<div>my $capab = $driver->get_capabilities();<div>print Dumper($capab);

get_timeouts

Get the currently configured values (ms) for the page load, script and implicit timeouts.
Compatibility:
Only available on WebDriver3 enabled selenium servers.

使用方法:

$driver->get_timeouts();

set_timeout

Configure the amount of time that a particular type of operation can execute
for before they are aborted and a |Timeout| error is returned to the client.

入力:

type - <文字列> - The type of operation to set the timeout for.
Valid values are:
"script" : for script timeouts,
"implicit" : for modifying the implicit wait timeout
"page load" : for setting a page load timeout.
ms - <NUMBER> - The amount of time, in milliseconds, that time-limited
commands are permitted to run.

使用方法:

$driver->set_timeout('script', 1000);

set_async_script_timeout

Set the amount of time, in milliseconds, that asynchronous scripts executed
by execute_async_script() are permitted to run before they are
aborted and a |Timeout| error is returned to the client.

入力:

ms - <NUMBER> - The amount of time, in milliseconds, that time-limited
commands are permitted to run.

使用方法:

$driver->set_async_script_timeout(1000);

set_implicit_wait_timeout

Set the amount of time the driver should wait when searching for elements.
When searching for a single element, the driver will poll the page until
an element is found or the timeout expires, whichever occurs first.
When searching for multiple elements, the driver should poll the page until
at least one element is found or the timeout expires, at which point it
will return an empty list. If this method is never called, the driver will
default to an implicit wait of 0ms.
This is exactly equivalent to calling L</set_timeout> with a type
arg of C<"implicit">.

入力:

Time in milliseconds.

出力:

Server Response Hash with no data returned back from the server.

使用方法:

$driver->set_implicit_wait_timeout(10);

pause

Pause execution for a specified interval of milliseconds.

使用方法:

$driver->pause(10000); # 10 second delay</div>$driver->pause(); # 1 second delay default</div><div></div><div>DEPRECATED: consider using Time::HiRes instead.</div>

close

Close the current window.

使用方法:

$driver->close();<div>or</div><div>#close a popup window</div><div>my $handles = $driver->get_window_handles;
$driver->switch_to_window($handles->[1]);
$driver->close();
$driver->switch_to_window($handles->[0]);

quit

DELETE the session, closing open browsers. We will try to call
this on our down when we get destroyed, but in the event that we
are demolished during global destruction, we will not be able to
close the browser. For your own unattended and/or complicated
tests, we recommend explicitly calling quit to make sure you're
not leaving orphan browsers around.
Note that as a Moo class, we use a subroutine called DEMOLISH that
takes the place of DESTROY; for more information, see

使用方法:

$driver->quit();

get_current_window_handle

Retrieve the current window handle.

出力:

文字列 - the window handle

使用方法:

<div>print $driver->get_current_window_handle();

get_window_handles

Retrieve the list of window handles used in the session.

出力:

配列 of 文字列 - list of the window handles

使用方法:

<div>print Dumper $driver->get_window_handles;<div>or</div><div># get popup, close, then back</div><div>my $handles = $driver->get_window_handles;
$driver->switch_to_window($handles->[1]);
$driver->close;
$driver->switch_to_window($handles->[0]);

get_window_size

Retrieve the window size
Compatibility:
The ability to get the size of arbitrary handles by passing input only exists in WebDriver2.
You will have to switch to the window first going forward.

入力:

文字列 - <optional> - window handle (default is 'current' window)

出力:

ハッシュ - containing keys 'height' & 'width'

使用方法:

<div>my $window_size = $driver->get_window_size();<div>print $window_size->{'height'}, $window_size->{'width'};

get_window_position

Retrieve the window position
Compatibility:
The ability to get the size of arbitrary handles by passing input only exists in WebDriver2.
You will have to switch to the window first going forward.

入力:

文字列 - <optional> - window handle (default is 'current' window)

出力:

ハッシュ - containing keys 'x' & 'y'

使用方法:

<div>my $window_size = $driver->get_window_position();<div>print $window_size->{'x'}, $window_size->('y');

get_current_url

Retrieve the url of the current page

出力:

文字列 - url

使用方法:

<div>print $driver->get_current_url();

navigate

Navigate to a given url. This is same as get() method.

入力:

文字列 - url

使用方法:

$driver->navigate('<a href="http://www.google.com">http://www.google.com</a>');

get

Navigate to a given url

入力:

文字列 - url

使用方法:

$driver->get('<a href="http://www.google.com">http://www.google.com</a>');

get_title

Get the current page title

出力:

文字列 - Page title

使用方法:

<div>print $driver->get_title();

go_back

Equivalent to hitting the back button on the browser.

使用方法:

$driver->go_back();

go_forward

Equivalent to hitting the forward button on the browser.

使用方法:

$driver->go_forward();

refresh

Reload the current page.

使用方法:

$driver->refresh();

has_javascript

returns true if javascript is enabled in the driver.
Compatibility:
Can't be false on WebDriver 3.

使用方法:

<div>if ($driver->has_javascript) { ...; }</div>

execute_async_script

Inject a snippet of JavaScript into the page for execution in the context
of the currently selected frame. The executed script is assumed to be
asynchronous and must signal that is done by invoking the provided
callback, which is always provided as the final argument to the function.
The value to this callback will be returned to the client.
Asynchronous script commands may not span page loads. If an unload event
is fired while waiting for a script result, an error should be returned
to the client.
Input: 2 (1 optional)
必須:
文字列 - Javascript to execute on the page
Optional:
配列 - list of arguments that need to be passed to the script.

出力:

{*} - Varied, depending on the type of result expected back from the script.

使用方法:

<div>my $script = q{</div><div>var arg1 = arguments[0];<div>var callback = arguments[arguments.length-1];<div>var elem = window.document.findElementById(arg1);<div>callback(elem);<div>};<div>my $elem = $driver->execute_async_script($script,'myid');<div>$elem->click;

execute_script

Inject a snippet of JavaScript into the page and return its result.
WebElements that should be passed to the script as an argument should be
specified in the arguments array as WebElement object. Likewise,
any WebElements in the script result will be returned as WebElement object.
Input: 2 (1 optional)
必須:
文字列 - Javascript to execute on the page
Optional:
配列 - list of arguments that need to be passed to the script.

出力:

{*} - Varied, depending on the type of result expected back from the script.

使用方法:

<div>my $script = q{</div><div>var arg1 = arguments[0];<div>var elem = window.document.findElementById(arg1);<div>return elem;<div>};<div>my $elem = $driver->execute_script($script,'myid');<div>$elem->click;

screenshot

Get a screenshot of the current page as a base64 encoded image.
Optionally pass {'full' => 1} as argument to take a full screenshot and not
only the viewport. (Works only with firefox and geckodriver >= 0.24.0)

出力:

文字列 - base64 encoded image

使用方法:

<div>print $driver->screenshot();<div>print $driver->screenshot({'full' =&gt; 1});

スクリーンショットをファイルに簡単に書き込むには、「capture_screenshot」を参照してください。

capture_screenshot

Capture a screenshot and save as a PNG to provided file name.
(The method is compatible with the WWW::Selenium method of the same name)
Optionally pass {'full' => 1} as second argument to take a full screenshot
and not only the viewport. (Works only with firefox and geckodriver >= 0.24.0)

出力:

TRUE - (Screenshot is written to file)

使用方法:

$driver->capture_screenshot($filename);
$driver->capture_screenshot($filename, {'full' =&gt; 1});

available_engines

List all available engines on the machine. To use an engine, it has to be present in this list.
Compatibility:
Does not appear to be available on Webdriver3 enabled selenium servers.

出力:

{Array.<string>} A list of available engines

使用方法:

<div>print Dumper $driver->available_engines;

switch_to_frame

Change focus to another frame on the page. If the frame ID is null, the
server will switch to the page's default content. You can also switch to a
WebElement, for e.g. you can find an iframe using find_element & then
provide that as an input to this method. Also see e.g.

入力1:

<div>必須:</div><div>{文字列 | NUMBER | NULL | WebElement} - ID of the frame which can be one of the three</div><div>mentioned.</div><div></div>

<b>使用方法:</b>
<pre>
$driver->switch_to_frame('frame_1');<div>or</div>$driver->switch_to_frame($driver->find_element('iframe', 'tag_name'));

switch_to_parent_frame

Webdriver 3は、引数なしでswitch_to_frameを呼び出すのと同じです(例:NULLフレーム)。その場合、これは実際に呼び出されます。現在、WD3対応サーバーを使用していると仮定します。

switch_to_window

Change focus to another window. The window to change focus to may
be specified by its server assigned window handle, or by the value
of the page's window.name attribute.
If you wish to use the window name as the target, you'll need to
have set C<window.name> on the page either in app code or via
L</execute_script>, or pass a name as the second argument to the
C<window.open()> function when opening the new window. Note that
the window name used here has nothing to do with the window title,
or the C<< <title> >> element on the page.
Otherwise, use L</get_window_handles> and select a
Webdriver-generated handle from the output of that function.

入力1:

<div>必須:</div><div>文字列 - Window handle or the Window name</div><div></div>

<b>使用方法:</b>
<pre>
$driver->switch_to_window('MY Homepage');<div>or</div><div># close a popup window and switch back</div><div>my $handles = $driver->get_window_handles;
$driver->switch_to_window($handles->[1]);
$driver->close;
$driver->switch_to_window($handles->[0]);

set_window_position

Set the position (on screen) where you want your browser to be displayed.
Compatibility:
In webDriver 3 enabled selenium servers, you may only operate on the focused window.
As such, the window handle argument below will be ignored in this context.

入力:

整数 - x co-ordinate
整数 - y co-ordinate
文字列 - <optional> - window handle (default is 'current' window)

出力:

ブール値 - Success or failure

使用方法:

$driver->set_window_position(50, 50);

set_window_size

Set the size of the browser window
Compatibility:
In webDriver 3 enabled selenium servers, you may only operate on the focused window.
As such, the window handle argument below will be ignored in this context.

入力:

整数 - height of the window
整数 - width of the window
文字列 - <optional> - window handle (default is 'current' window)

出力:

ブール値 - Success or failure

使用方法:

$driver->set_window_size(640, 480);

maximum_window

Maximizes the browser window
Compatibility:
In webDriver 3 enabled selenium servers, you may only operate on the focused window.
As such, the window handle argument below will be ignored in this context.
Also, on chromedriver maximize is actually just setting the window size to the screen's
available height and width.

入力:

文字列 - <optional> - window handle (default is 'current' window)

出力:

ブール値 - Success or failure

使用方法:

$driver->maximize_window();

minimize_window

Minimizes the currently focused browser window (webdriver3 only)

出力:

ブール値 - Success or failure

使用方法:

$driver->minimize_window();

fullscreen_window

Fullscreens the currently focused browser window (webdriver3 only)

出力:

ブール値 - Success or failure

使用方法:

$driver->fullscreen_window();

get_all_cookies

Retrieve all cookies visible to the current page. Each cookie will be
returned as a ハッシュ reference with the following keys & their value types:
'name' - 文字列
'value' - 文字列
'path' - 文字列
'domain' - 文字列
'secure' - ブール値

出力:

配列 of ハッシュES - list of all the cookie hashes

使用方法:

<div>print Dumper($driver->get_all_cookies());

add_cookie

Set a cookie on the domain.
Input: 2 (4 optional)
必須:
'name' - 文字列
'value' - 文字列
Optional:
'path' - 文字列
'domain' - 文字列
'secure' - ブール値 - default false.
'httponly' - ブール値 - default false.
'expiry' - TIME_T - default 20 years in the future

使用方法:

$driver->add_cookie('foo', 'bar', '/', '.google.com', 0, 1)</div>

delete_all_cookies

Delete all cookies visible to the current page.

使用方法:

$driver->delete_all_cookies();

get_cookie_named

基本的に、指定された名前のCookieのみを取得します。*本当に*長いリストを期待しない限り、リストからそれを選択することをお勧めします。


<b>入力:</b>
<div>Cookie Name - 文字列</div>

get_all_cookies();の要素と同様に、Cookie定義ハッシュを返します。

Compatibility:
Only available on webdriver3 enabled selenium servers.

delete_cookie_named

Delete the cookie with the given name. This command will be a no-op if there
is no such cookie visible to the current page.

入力1:

<div>必須:</div><div>文字列 - name of cookie to delete</div><div></div>

<b>使用方法:</b>
<pre>
$driver->delete_cookie_named('foo');

get_page_source

Get the current page source.

出力:

文字列 - The page source.

使用方法:

<div>print $driver->get_page_source();

find_element

ドキュメントルートから始めて、ページ上の要素を検索します。見つかった要素は、WebElementオブジェクトとして返されます。要素が見つからない場合は、CROAKを実行して、スクリプトを強制終了します。代わりに警告が必要な場合は、パラメーター化されたバージョンのファインダーを使用してください。

find_element_by_class

find_element_by_class_name

find_element_by_css

find_element_by_id

find_element_by_link

find_element_by_link_text

find_element_by_name

find_element_by_partial_link_text

find_element_by_tag_name

find_element_by_xpathThese

これらの関数はすべて、単一の文字列引数を取ります。つまり、必要な要素のロケーター検索ターゲットです。要素が見つかった場合、WebElementを受け取ります。それ以外の場合は、0を返します。0でメソッドを呼び出すと、もちろんスクリプトが強制終了されることに注意してください。

入力:

2つ (1つは任意)

必須:

文字列 - 検索ターゲット.

任意:

文字列 - 要素の検索に使用するロケータースキーム、使用可能なスキーム:

{class, class_name, css, id, link, link_text, partial_link_text, tag_name, name, xpath}

インスタンス化するときに中にグローバルに設定されていない場合、デフォルトは「xpath」です。

出力:

Selenium::Remote::WebElement - WebElement Object

これはwebelement_classが設定されている場合は、Selenium::Remote::WebElementのサブクラスである可能性があります。

使用方法:

$driver->find_element("//input[\@name='q']");

find_elements

ドキュメントルートから始めて、ページ上の複数の要素を検索します。見つかった要素は、WebElementオブジェクトの配列として返されます。

入力:

2つ (1つは任意)

必須:

文字列 - 検索ターゲット.

任意:

文字列 - 要素の検索に使用するロケータースキーム、使用可能なスキーム:

{class, class_name, css, id, link, link_text, partial_link_text, tag_name, name, xpath}

インスタンス化するときに中にグローバルに設定されていない場合、デフォルトは「xpath」です。

出力:

複数のWebElementオブジェクトを含んだ<配列|配列リファレンス>

使用方法:

$driver->find_elements("//input");

find_child_element

Search for an element on the page, starting from the identified element. Thelocated element will be returned as a WebElement object.Input: 3 (1 optional)必須:Selenium::Remote::WebElement - WebElement object from where you want tostart searching.文字列 - The search target. (Do not use a double whack('//')in an xpath to search for a child elementex: '//option[@]'instead use a dot whack ('./')ex: './option[@]')Optional:文字列 - Locator scheme to use to search the element, available schemes:{class, class_name, css, id, link, link_text, partial_link_text,tag_name, name, xpath}Defaults to 'xpath' if not configured global during instantiation.

出力:

WebElement Object

使用方法:

my $elem1 = $driver->find_element("//select[\@name='ned']");# note the usage of ./ when searching for a child element instead of //my $child = $driver->find_child_element($elem1, "./option[\@value='es_ar']");

find_child_elements

Search for multiple element on the page, starting from the identifiedelement. The located elements will be returned as an array of WebElementobjects.Input: 3 (1 optional)必須:Selenium::Remote::WebElement - WebElement object from where you want tostart searching.文字列 - The search target.Optional:文字列 - Locator scheme to use to search the element, available schemes:{class, class_name, css, id, link, link_text, partial_link_text,tag_name, name, xpath}Defaults to 'xpath' if not configured global during instantiation.

出力:

配列 of WebElement Objects.

使用方法:

my $elem1 = $driver->find_element("//select[\@name='ned']");# note the usage of ./ when searching for a child element instead of //my $child = $driver->find_child_elements($elem1, "./option");

find_element_by_class

「find_element」を参照してください。

find_element_by_class_name

「find_element」を参照してください。

find_element_by_css

「find_element」を参照してください。

find_element_by_id

「find_element」を参照してください。

find_element_by_link

「find_element」を参照してください。

find_element_by_link_text

「find_element」を参照してください。

find_element_by_name

「find_element」を参照してください。

find_element_by_partial_link_text

「find_element」を参照してください。

find_element_by_tag_name

「find_element」を参照してください。

find_element_by_xpath

「find_element」を参照してください。

get_active_element

現在フォーカスがあるページ上の要素を取得します。検索された要素はWebElementオブジェクトとして返されます。

出力:

WebElementオブジェクト

使用方法:

$driver->get_active_element();

cache_status

Get the status of the html5 application cache.

使用方法:

print $driver->cache_status;

出力:

<number> - Status code for application cache: {UNCACHED = 0, IDLE = 1, CHECKING = 2, DOWNLOADING = 3, UPDATE_READY = 4, OBSOLETE = 5}

set_geolocation

現在の地理的位置を設定する - ドライバーがこのエンドポイントを実装する必要があることに注意してください。少なくとも、それはChromedriverのv2.12で動作します。

入力:

必須:ハッシュ: A hash with key C<location> whose value is a Location hashref. Seeusage section for example.

使用方法:

$driver->set_geolocation( location =&gt; {latitude =&gt; 40.714353,longitude =&gt; -74.005973,altitude =&gt; 0.056747});

出力:

ブール値 - 成功あるいは失敗

get_geolocation

現在の地理的位置を取得します。 Webドライバーはこのエンドポイントを実装する必要があることに注意してください。実装しないと、セッションがクラッシュします。リリースの時点では、これをdesktopFirefoxDriverまたはデスクトップChromedriverで動作させることができませんでした。

使用方法:

print $driver->get_geolocation;

出力:

{ latitude: 数値, longitude: 数値, altitude: 数値 } - 現在の地理的位置

get_log

特定のログタイプのログを取得します。ログバッファは、各要求の後にリセットされます。

入力:

必須:<文字列> - 取得するログの種類:{client|driver|browser|server}他にも利用可能な場合があります。seeget_log_typesnのドライバーの完全なリストを表示します。

使用方法:

$driver->get_log( $log_type );

<b>出力:</b>


&lt;配列|配列REF&gt; - An array of log entries since the most recent request.

get_log_types

使用可能なログの種類を取得します。既定では、すべてのドライバーにはクライアント、ドライバー、ブラウザー、およびサーバーの種類が必要ですが、ドライバーによっては、より多くの利用可能ながあります。

使用方法:

my @types = $driver->get_log_types;
$driver->get_log($types[0]);

出力:

<配列|配列リファレンス> - ログタイプのリスト

set_orientation

ブラウザの方向を設定します。

入力:

必須:<文字列> - 方向 {LANDSCAPE|PORTRAIT}

使用方法:

$driver->set_orientation( $orientation );

出力:

ブール値 - 成功あるいは失敗

get_orientation

現在のブラウザの向きを取得します。LANDSCAPEかPORTRAITを返します。

使用方法:

print $driver->get_orientation;

出力:

<文字列> - 向き.

send_modifier

2 つの要素 ID が同じ DOM 要素を参照しているかどうかをテストします。入力: 2 つの体の付け, :リモート:Web要素 - Web 要素オブジェクトセレン::リモート:Web要素 - Web 要素オブジェクト

使用方法:

$driver->send_modifier('Alt','down');$elem->send_keys('c');
$driver->send_modifier('Alt','up');or$driver->send_modifier('Alt',1);$elem->send_keys('c');
$driver->send_modifier('Alt',0);

compare_elements

2つの要素IDが同じDOM要素を参照しているかどうかをテストします。

Input:

2つ 必須:

Selenium::Remote::WebElement - WebElement Object

Selenium::Remote::WebElement - WebElement Object

出力:

ブール値

使用方法:

$driver->compare_elements($elem_obj1, $elem_obj2);

click

ボタン - 'LEFT'/0 'MIDDLE'/1 'RIGHT'/2デフォルトの'LEFT'キューに1つ - (オプション)クリックを実行するのではなく、キューに入れます。WD3 のみ。

入力:

button - any one of 'LEFT'/0 'MIDDLE'/1 'RIGHT'/2defaults to 'LEFT'queue - (optional) queue the click, rather than executing it. WD3 only.

使用方法:

$driver->click('LEFT');
$driver->click(1); #MIDDLE$driver->click('RIGHT');
$driver->click; #Defaults to left

double_click

現在のマウス座標をダブルクリックします(movetoで設定)。互換性:Webdriver3対応サーバーでは、任意のマウスボタンをダブルクリックすることができます。

使用方法:

$driver->double_click(button);

button_down

マウスの左ボタンをクリックしたままにします(最後の movetoコマンドで設定した座標で)。次に続くマウス関連のコマンドは buttonup です。他のマウスコマンド(ボタンダウンへの別の呼び出しなど)は未定義の動作を生み出します。キューを実行するにはgeneral_action() を呼び出すか、または click() のようなアクションを呼び出す必要があります。

使用方法:

$self->button_down;

button_up

以前に押されていたマウス ボタンを解放します(現在マウスが置かれている場所)。ボタンダウンコマンドが発行されるたびに一度呼び出す必要があります。順序付け切れコマンドの影響に関するクリックとボタンダウンのメモを参照してください。キューを実行するにはgeneral_action() を呼び出すか、または click() のようなアクションを呼び出す必要があります。

使用方法:

$self->button_up;

send_keys

ローカル マシンからセレン サーバーマシンにファイルをアップロードします。そのファイルは、Webフォーム上のファイルアップロードのテストに使用できます。ファイルへのリモート サーバーのパスを返します。ファイル名を超えて引数として生データを渡すと、ファイルの内容ではなく、それをアップロードします。生データを渡すときは、単一のファイルの zip と base64 エンコードバージョンを期待することを知らされます。複数のファイルやディレクトリは、リモート サーバーでサポートされていません。

使用方法:

my $remote_fname = $driver->upload_file( $fname );
my $element = $driver->find_element( '//input[@]' );
$element->send_keys( $remote_fname );

get_text

特定の要素のテキストを取得します。find_element() のラッパー

使用方法:

$text = $driver->get_text("//div[\@name='q']");

get_body

本文全体の現在のテキストを取得します。代わりに生の HTML 全体が必要な場合は、get_page_sourceを参照してください。

使用方法:

$body_text = $driver->get_body();

get_path

現在のブラウザーの場所のパス部分を取得します。

使用方法:

$path = $driver->get_path();

get_user_agent

window.navigator.userAgent のブラウザーの値に従って、ユーザー エージェント文字列を取得する便利なメソッド。

使用方法:

$user_agent = $driver->get_user_agent()

set_inner_window_size

現在のウィンドウを閉じて、新しいウィンドウで現在のページを再び開くことによって、内部ウィンドウのサイズを設定します。これは、ブラウザを使用してモバイル デバイスとしてモックする場合に便利です。インスタンス化中に inner_window_size ハッシュ キー オプションを設定すると、このサブルーチンが自動的に起動されます。

入力:

整数 - ウィンドウの高さとウィンドウの幅を表す整数

出力:

ブール値 - 成功または失敗

使用方法:

$driver->set_inner_window_size(640, 480);

get_local_storage_item

指定されたキーで指定されたローカルストレージ項目の値を取得します。

入力1:

必須:文字列 - 処理されるキーの名前

出力:

文字列 - ローカルストレージ項目の値

使用方法:

$driver->get_local_storage_item('key')

delete_local_storage_item

指定されたキーで指定されたローカルストレージアイテムの値を削除します。

入力1:

必須: 文字列 - 削除するキーの名前

使用方法:

$driver->delete_local_storage_item('key')

関連項目

このモジュールに関連する詳細については、これらのモジュール/ Webサイトを参照してください。

バグ

バグトラッカーのウェブサイトhttps://github.com/teodesian/Selenium-Remote-Driver/issuesでバグや機能のリクエストを報告してください

バグまたはリクエストを送信するときは、バグまたは必要な機能を説明するテストファイルまたは既存のテストファイルへのパッチを含めてください。

著者

現在のメンテナ:

  • ダニエルゲンペソー<gempesaw@gmail.com>
  • EmmanuelPeroumalnaïk<peroumalnaik.emmanuel@gmail.com>

以前のメンテナ:

  • ルーククロス<cpan@5thplane.com>
  • マーク・ストスバーグ<mark@stosberg.com>

原作者:

  • Aditya Ivaturi <ivaturi@gmail.com>

寄稿者

  • アレン・ルー<allen@alew.org>
  • A.MacLeay <a.macleay@gmail.com>
  • Andy Jack <andyjack@users.noreply.github.com>
  • Andy Jack <github@veracity.ca>
  • Bas Bloemsaat <bas@bloemsaat.com>
  • ブレイクGH <blake@mobiusconsortium.org>
  • ブライアンホラク<brianh@zoovy.com>
  • チャールズハウズ<charles.howes@globalrelay.net>
  • Chris Davies <FMQA@users.noreply.github.com>
  • ダニエル・ファックレル<dfackrell@bluehost.com>
  • デイブ・ロルスキー<autarch@urth.org>
  • Dmitry Karasik <dmitry@karasik.eu.org>
  • ダグベル<doug@preaction.me>
  • ディラン・ストレブ<dylan.streb@oneil.com>
  • エリック・ジョンソン<eric.git@iijo.org>
  • ガボール・ザボ<gabor@szabgab.com>
  • ジョージS.ボー<george.b@cpanel.net>
  • ゲルハルト・ユングワース<gjungwirth@sipwise.com>
  • ゴードンチャイルド<gordon@gordonchild.com>
  • GreatFlamingFoo <greatflamingfoo@gmail.com>
  • Ivan Kurmanov <duraley@gmail.com>
  • ジョーヒグトン<draxil@gmail.com>
  • Jon Hermansen <jon.hermansen@gmail.com>
  • 菅間圭太<sugama@jamadam.com>
  • ケン・スワンソン<kswanson@genome.wustl.edu>
  • lembark <lembark@wrkhors.com>
  • Luke Closs <lukec@users.noreply.github.com>
  • マルティン・ギュンナー<martin.gruner@otrs.com>
  • Matthew Spahr <matthew.spahr@cpanel.net>
  • Max O'Cull <maxattax97@gmail.com>
  • Michael Prokop <mprokop@sipwise.com>
  • mk654321 <kosmichal@gmail.com>
  • Peter Mottram(SysPete)<peter@sysnix.com>
  • フィルカニア<phil@vivox.com>
  • Phil Mitchell <phil.mitchell@pobox.com>
  • Prateek Goyal <prateek.goyal5@gmail.com>
  • リチャード・サイラー<richard@weltraumpflege.org>
  • ロバート・アッター<utter.robert@gmail.com>
  • ルジェ<rouzier@gmail.com>
  • 辰巳哲也<ttatsumi@ra2.so-net.ne.jp>
  • Tod Hagan <42418406+tod222@users.noreply.github.com>
  • トム・ヒューキンス<tom@eborcom.com>
  • Vangelis Katsikaros <vangelis@adzuna.com>
  • ヴァンゲリスカチカロス<vkatsikaros@gmail.com>
  • Vishwanath Janmanchi <jvishwanath@gmail.com>
  • ViťasStrádal<vitas@matfyz.cz>
  • イヴ・ラヴォワ<ylavoie@yveslavoie.com>

著作権とライセンス

Copyright(c)2010-2011 Aditya Ivaturi、Gordon Child

Copyright(c)2014-2017 Daniel Gempesaw

Apacheライセンスバージョン2.0(「ライセンス」)に基づいてライセンス供与されます。ライセンスに準拠する場合を除き、このファイルを使用することはできません。ライセンスのコピーは、次のURLで入手できます。

http://www.apache.org/licenses/LICENSE-2.0

適用法によって要求されるか、書面で合意されない限り、ライセンスに基づいて配布されるソフトウェアは、明示または黙示を問わず、いかなる種類の保証または条件もなしに、「現状有姿」で配布されます。ライセンスに基づく許可と制限を規定する特定の言語については、ライセンスを参照してください。

業務に役立つPerl

Perlテキスト処理のエッセンス

PerlでポータブルなLinuxファイル管理入門

ITエンジニアの求人情報など

 ITエンジニアの求人情報・Webサービス・ソフトウェア・スクールなどの情報。

システム開発のお問い合わせ