セレン、JavaScriptの処理

JavaScriptの処理

自動化されたプロセスでは、素子JS処理に遭遇し、それは要素が動作JS言語を使用する必要があり、例えば、底部またはブラウザの上部にスライド、時間制御処理要素は、可視及び不可視ハンドルリッチテキストであり、必要としますJS言語のサポートは、セレンで、JSスクリプトの呼び出しがexecute_scriptです。下記の物語を伝えるために例を挙げて。

要素は見えない操作

次のようにJS処理方法は、非表示に表示されている:
のJS =を"のdocument.getElementById( 'リー')Style.display = 'ブロック';"。
driver.execute_script(JS)

ブラウザのスライド操作

一例として、百度の検索で、スライド操作の頂部に、それぞれ、端部にスライドの操作、次のように
webdriverをセレンインポートから
インポート時間

= webdriver.Chromeドライバ()
driver.implicitly_wait(30)
driver.maximize_window()
driver.get( " http://www.baidu.com ")
driver.find_element_by_id( "キロワット")。send_keys( "セレン")
ドライバ.find_element_by_id( "SU")をクリック()
time.sleepは(4)
'' '' 'の操作端で摺動部を摺動'
downjs = "VAR = document.documentElement.scrollTop Q = 10000"
driver.execute_script(downjs)
''「[次へ]をクリック2番目のページに行く」
driver.find_element_by_partial_link_text(「次」).click()
「」「トップをスライドさせるスライド操作を行い」「」
upjs =「VAR = Qドキュメント= 10000 .documentElement.scrollTop "
『最初のスライドの頂部に、端部にスライド操作を行います』『』'
driver.execute_script(downjs)
time.sleep(3)
driver.execute_script(upjs)
(2)time.sleep
driver.quit()

処理時間制御

时间控件在测试过程中经常遇到,但大部分时间控件都是只读属性,要实现在只读属性的时间控件输入时间,可以先取消时间控件的只读属性,取消只读属性后,在Input输入框输入value即可,操作代码如下:

セレン輸入webdriverをするから
インポート時

= webdriver.Chromeドライバ()
DEF startJs(のstartTime):
'' '入力時刻開始時刻から定義された' ''
のJS = "$(" INPUT [プレースホルダ= '開始時間>現在時刻']「)removerAttr(。 '読み取り専用');. "" $( "入力[プレースホルダ= ' 開始時間>現在時刻']")ATTR( '値' {0})「フォーマット(のstartTime)
driver.execute_script(JS)

DEF endJs(endTimeの):
'' 'カスタム時間入力するための終了時間'
のJS = "$(" INPUT [プレースホルダ= '終了時刻>現在の時間'] ")removerAttr( '読み取り専用 ');."「$を( "入力[プレースホルダ= '末端時間>現在時刻']")。ATTR( '値' {0})。「フォーマット(endTimeは)
driver.execute_script(JS)

startJs( "2019年10月10日午前十時00分00秒")
time.sleep(3)
endJs( "2019年10月10日午前十時02分00秒")

おすすめ

転載: www.cnblogs.com/qixc/p/11798369.html