ページを一番下にスライドさせる方法は?
一般的に言って、Webオートメーションテストを行う場合、コードを個別に記述してページをスライドさせて表示する必要はありません。クリック操作は、要素が存在して読み込まれている限り、要素をスライドするための追加のコードを記述しなくてもクリックできるためです。
特別な状況でスライドする必要がある場合は、Pythonのセレンライブラリのexecute_scriptメソッドがjsステートメントを実行してスクロール関数を実装します
「引数[要素オブジェクト] .scrollIntoView();」、要素オブジェクト
driver.execute_script( 'arguments [0] .scrollIntoView(false);'、ele) #要素を一番下に表示しますdriver.execute_script( 'arguments [0] .scrollIntoView();'、ele)#要素を一番上に表示される ドライバーに移動します.execute_script( 'window.scrollTo(0、document.body.scrollHeight)')#ページをページの下部に移動します driver.execute_script( "window.scrollTo(document.body.scrollHeight、0)")#ページをページに移動します上へ
日付ボックス処理
Webページのテスト中に日付ボックスが表示されたと思います。これは、選択のみが可能で、直接入力できないタイプです。この種のWeb自動化テストの処理方法は?
直接入力できるように属性値を変更します
from selenium import webdriver driver = webdriver.Chrome() #pha_js = "var a = arguments [0]; a.readOnly = false; a.value = arguments [1];"#js语法 loc =( "xpath"、 " // * [@ id = 'train_date'] ") ele = driver.find_element(* loc) now_10 =" 1111 "#datetime获取当前时间 driver.execute_script(" var a = arguments [0]; a.readOnly = false ; a.value = arguments [1]; "、ele、now_10)
12306日付選択ボックスの例
= webdriver.Chromeドライバー() driver.get( 'https://www.12306.cn/index/') driver.implicitly_wait(20です) #出発まず選択し、[変更出発 driver.find_element_by_id( "fromStationText") .click() driver.find_element_by_xpath( '// li [@ title = "北京"]')。click() pha_js = 'var a = document.getElementById( "fromStationText"); a.value = "Shenzhen"' ドライバー.execute_script(pha_js)#まず宛先を選択し 、次に宛先を変更します driver.find_element_by_id( "toStationText")。click() driver.find_element_by_xpath( '// li [@ title = "上海"]')。click() arive_js = 'var a = document.getElementById( "toStationText"); a.value = "常德"' driver.execute_script(arive_js) #日付 処理time_js = 'var a = document.getElementById( "train_date"); a.readOnly = false; a.value = "2020-05-01" ' driver.execute_script(time_js) execute_script(time_js)#日付 処理 ele4 =(By.ID、 'search_one') driver.find_element(* ele4).click()
アップロード操作
Web自動テスト、ファイルのアップロードをシミュレートする方法
ウェブインターフェースではないアップロード操作のため、Pythonでセレンライブラリを使用できません
他のライブラリのみを使用
1. 最初に pipをインストールしますpypiwin32 ライブラリをインストールします
#1 \入力ボックスを見つけてボタン要素を開く; 2.アドレスを入力して[開く]をクリックします。 #前提:ウィンドウのアップロードウィンドウが表示されました。ポップアップが表示されるまで1〜2秒待ちます。 def upload(filePath、browser_type = "chrome"): browser_type == "chrome": title = "open" else: title = ""の場合 要素の 最初の ウィンドウ "#32770"、 "open" dialog = win32gui。 FindWindow( "#32770"、タイトル) # ComboBoxEx32 = win32gui.FindWindowEx(ダイアログ、0、 "ComboBoxEx32"、なし)#2 コンボボックス= win32gui.FindWindowEx(ComboBoxEx32,0、 "コンボボックス "、なし)# 3 #編集ボタンの 編集= win32gui.FindWindowEx(comboBox、0、 'Edit'、None)#四 级#Open button button = win32gui.FindWindowEx(dialog、0、 ' win32gui.SendMessage(edit、win32con.WM_SETTEXT、None、filePath) #ファイルパスを送信win32gui.SendMessage(dialog、win32con.WM_COMMAND、1、button)#開くボタンをクリック