第5章. ブラウザ固有の操作
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
これまで見てきたように、Selenium WebDriver API の多くの機能はブラウザ間で互換性がある。Selenium WebDriver API の他の部分はブラウザ間で相互運用できない。言い換えると、あるブラウザ(例えばChromeやEdge)では利用可能で、他のブラウザ(例えばFirefox)では利用できない(または異なる)WebDriverの特徴がある。この章では、これらのブラウザ固有の機能についてレビューする。
ブラウザの機能
Selenium WebDriverでは、ケイパビリティを使用することで、ブラウザ固有のアスペクトを指定することができる。機能の例としては、ヘッドレスモード、Webページ読み込み戦略、Web拡張の使用、プッシュ通知管理などがある。図5-1が示すように、 Selenium WebDriver APIは、これらの機能を定義するJavaクラスのセットを提供する。Capabilities インタフェースは、この階層の最上位にある。内部的には、capabilitiesインタフェースは、ブラウザの特定の側面をカプセル化するキーと値のペアを使用してデータを処理する。そして、さまざまなJavaクラスがこのインタフェースを実装し、Webブラウザ(Chrome、Edge、Firefoxなど)の機能を指定する。表5-1は、Capabilities 階層の主なクラスと、対応するターゲット・ブラウザをまとめたものである。
図5-1. 能力の階層
| パッケージ | クラス | ブラウザ |
|---|---|---|
|
|
ジェネリック(クロスブラウザ) |
|
|
クローム |
|
|
エッジ |
|
|
ファイアフォックス |
|
|
サファリ |
|
|
オペラ |
|
|
インターネットエクスプローラ |
|
|
リモートブラウザ(第6章参照) |
以下のサブセクション()では、本書で取り上げる主要なウェブブラウザ、つまりChrome、Edge、Firefoxの最も関連性の高い機能をレビューする。 ChromeとEdgeはどちらもChromiumベースのブラウザであるため、両ブラウザで利用可能なケイパビリティは等価性である。この事実は図5-1に反映されている。 ChromeOptionsとEdgeOptions はどちらも同じ 親(と呼ばれる)から継承される。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access