1.オペレーションクッキー
時には我々はテストがホワイトボックステストと統合テストに合格することができない本当のクッキーに基づいているため、ブラウザのクッキーは、正しいことを確認します。操作クッキーの関連方法を提供webdriverを、あなたは、読み、追加、および削除のクッキー情報ことができます。
webdriverを操作クッキー方法:
GET_COOKIES():すべてのクッキー情報を取得します
ge_cookie(名):クッキー情報の「名前」のための辞書のキーを返します。
add_cookie(cookie_dict):追加のクッキー。「Cookie_dictは」辞書オブジェクトを参照するには、名前と値の値を持っている必要があります
delete_cookie(名前、optionsString):クッキー情報を削除します。「名前」は、削除したいクッキーの名前で、「optionsStringは、」クッキーオプションで、現在サポートされているオプションは、「パス」が含ま
delete_all_cookies():情報の削除すべて
GET_COOKIESて次の交換現在のブラウザのクッキー情報()。
セレンインポートwebdriverを WD = webdriver.Chrome() wd.get(' http://youdao.com ' ) #クッキー情報の入手 クッキー= wd.get_cookiesを() #クッキープリント取得します 印刷(クッキー)
出力:
その結果から分かるように、辞書とのインタビューの形でクッキーデータ。クッキーの形で保存され、その後、私たちはこのフォームでブラウザのクッキーに情報を書き込むことができます知っています。
セレンインポートwebdriverを WD = webdriver.Chrome() wd.get(' http://youdao.com ' ) #クッキーの名前と値のセッション情報に追加 wd.add_cookie({ 「名称」:「xhh 」、「値」:「xiaohuihui 」}) #クッキーを情報の名前と値を横断して印刷する ためにクッキーにwd.get_cookies(): 印刷(" %のS - > S%"%(クッキー[ ' 名前' ]、クッキー[ ' 値' ]))
出力:
add_cookieによってスクリプトの実行時結果、第四のクッキー情報から見ることができる()メソッドを追加。特定のクッキーは「名前」と値の「値」のための鍵である見つけるためにトラバースすることにより、すべてのクッキー情報を取得します。
名前はクッキーが、それは動作しないような場合に使用されるのでしょうか?例えば、開発者は、ユーザー名、ユーザーがログインには、ブラウザのクッキーに書き込まれます女の子、「ユーザ名」の指定されたキー、名前我々はできるがGET_COOKIES()は、ユーザ名、印刷値を検索します。あなたはユーザ名を見つけることができないか、対応する値が空の場合、それは成功せず、ブラウザのクッキーに保存されます。
delete_cookie()とdelete_all_cookiesは()、また、名前によって元の削除Aの特定のクッキー情報は非常に簡単ですが、後者は、あなたのブラウザ()の情報から、すべてのCookieを削除します。
2.コールのJavaScript
webdriverをを提供していますが、動作ブラウザのバックとフォワード方式が、ブラウザのスクロールバーを操作する対応する方法を提供していません。このような場合には、JavaScriptを用いて、ブラウザのスクロールバーを制御することが可能です。webdriverをJavaScriptコードを実行するexecute_script()メソッドを提供します。
登録時に読み取り法則:あなたは、私たちが考える一般的には、スクロールバーのシーンを使用する必要があります。ユーザーがサインを読んでいるかどうかを決定:スクロールバーは、ページの一番下に引き下げられます。もちろん、時には近いユーザーの行動への操作を行うためにも、例えば、2番目の画面ページを操作するユーザーの要素をスクロールバーを使用することができ、平均的なユーザーが操作するための要素は表示されません、あなたは最初にスクロールバーを必要とします先に進む前に、画面の2ページ目にドラッグします。
JavaScriptコードは次のようにブラウザのスクロールバーの位置を調整するために使用されます。
< - window.scrollToは(左マージン、マージン);! - >
window.scrollToは( 0500)。
window.scrollToは()メソッドは、ブラウザウィンドウのスクロールバーの水平および垂直位置を設定するために使用されます。左側の最初の引数は、垂直のマージン上の二番目のパラメータのピッチレベルを表します。
コードは以下の通りであります:
セレンインポートwebdriverをから 時間インポートスリープから WD = webdriver.Chrome() wd.get( 'http://www.baidu.com' ) #ブラウザウィンドウのサイズを設定します。 wd.set_window_size( 600600 ) #検索 wd.find_element_by_id( "KW")。send_keys( "セレン" ) wd.find_element_by_id( "SU" ).click() 睡眠( 2 ) #JavaScriptを経由して、ブラウザウィンドウのスクロールバーの位置を設定します。 JS = "window.scrollToは(100450)" wd.execute_script(JS)
ブラウザウィンドウのオープンBaiduの検索ブラウザ、予めset_window_sizeスルー()メソッドは、ウィンドウの水平および垂直スクロールバーをできるように、固定フォーマットディスプレイに設定されています。次に、JavaScriptコード()メソッドを実行execute_scriptによってスライダの位置を移動させます。
さらに、我々は次のように、スライダーを動的に移動させるために行うことができます。
セレンインポートwebdriverをから 時間インポートスリープから WD = webdriver.Chrome() wd.get( 'https://www.taobao.com/' ) SD = 0 用のI における範囲(1,50 )。 SD + = 100の JS = "VAR Q = document.documentElement.scrollTop =%S" %(SD) wd.execute_script(JS) スリープ( 0.5)
比較的簡単ですか、私たちは次を変更することができ、限りの制御パラメータが上下に移動することができるよう、より完璧に行います。
メソッドを呼び出す必要が周りに移動します。
scrollLeft:スライダを右に移動します
もちろん、JavaScriptの役割だけではなく、ブラウザのスクロールバーを操作するには、あなたはまた、ページのテキストエリアのテキストボックスにコンテンツを入力するためにそれを使用することができます。
htmlコード:
< textareaのID = "ID" スタイル= "幅:98%;" COLS = "50" 行= "5" クラス= "txtarea" > </ TEXTAREA >
我々はそれを配置するのid道をすることができますが。しかしsend_keysで()メッセージが直接追加中心に、テキストなどのテキストボックスにテキストを入力する場合、に不合理表示されます。この場合、我々は、JavaScriptのコード補完入力を使用する必要があります。
セレンインポートwebdriverを から時間インポート睡眠 WD = webdriver.Chrome() wd.get(' http://127.0.0.1:8020/day01/index.html ' ) テキスト = " テキスト入力" JS = " VaRの和=のdocument.getElementById( 'ID'); sum.value = ' " +テキスト+ " '; " wd.execute_script(JS)
最初に入力するテキストの内容を定義し、次に「+」ステッチのテキストとJavaScriptコード。その目的は、入力されたコンテンツをカスタマイズすることができますになることです。最後に、()JavaScriptコードはexecute_scriptによって実行されます。
3. HTML5のビデオプレーヤー
現在、HTML5技術が主流となっている、主流のブラウザは、すでにHTML5をサポートしています。ウェブストレージ機能に加えて、などキャンバス、ビデオ、などのHTML5要素を使用して、より多くのアプリケーションが、我々はまた、どのように使用することを学ぶ必要があるので、より多くの開発者は、この標準を使用すること、ユーザーのWeb体験に追加しますそれらをテストするための自動化技術。
ブラウザでのテストHTML5のサポートが指定さwebdriverを、加えて、我々はまた、あなたがどのようにブラウザでHTML5をテストすることができますので、これらの機能をテストするためにJavaScriptを使用することができます。
ほとんどのブラウザでは動画を再生するには(Flashなど)のコントロールを使用しますが、異なるブラウザは異なるプラグインが必要です。HTML5定義する新しい要素の<video>、埋め込みムービークリップへの標準的な方法、IE9 +を指定し、Firefoxの、オペラ、Chromeはこの要素がサポートされています。
ケース:
セレン輸入webdriverをの インポート時 から selenium.webdriver.support.ui 輸入WebDriverWait から selenium.webdriver.supportのインポートECとしてexpected_conditions から selenium.webdriver.common.byのインポートにより、 WD = webdriver.Chrome() wd.get(' https://www.bilibili.com/video/av76611945 ' ) ビデオ(EC.presence_of_element_located((By.XPATH、.until = WebDriverWait(WD、30,0.5)" //のdiv [@ ID = 'bilibiliPlayer'] / DIV [1] / DIV [1] / DIV [9] /ビデオ"))) #找到视频 #再生ファイルのアドレスに戻り URL = wd.execute_script(" 戻り引数[0] .currentSrc; " 、ビデオ) 印刷(URL) #ビデオを再生の 印刷(「スタート」) wd.execute_script(" 戻り引数[0] .play()" 、ビデオ) time.sleep( 15 ) #一時停止動画の 印刷(" STOP " ) wd.execute_script(" 引数[0] .pause()"、ビデオ)
引数と呼ばれるJavaScriptの組み込み関数オブジェクトがあります。引数オブジェクトは、関数呼び出しパラメータの配列が含まれ、[0]取ら目標値を表しています。
currentSrcは、現在のオーディオやビデオのURLを返します。オーディオやビデオが設定されていない場合は、空の文字列が返されます。
ビデオ、遊びや一時停止をロードするための負荷()、再生()、一時停止()および他のコントロール。
だから我々は、我々は独自の方法を見つけなければならないビデオについてはどのような加速、減速、最も基本的な遊びや一時停止、ビデオ、(私は、ささやいないのでBB)を達成することを。