python executescript_在selenium中一些相对常用的JavaScript事件
輸入框輸入:
1.找到輸入框的id,然后進行輸入操作
ordinal :輸入框的id
parameter :需要輸入的內容
browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).value=\‘" + parameter + "\‘;")
元素點擊:
1..找到元素(selenium找元素的8種方式的其中一種即可)對象然后進行點擊
python:
prompt該元素在頁面中的cssSelector
confirm=browser.find_element_by_css_selector(prompt)
browser.execute_script("arguments[0].click();", confirm)
java:
1.定義JavascriptExecutor 對象2.找到element 對象3.執行js指令
JavascriptExecutor jse=(JavascriptExecutor) driver;
WebElement element= driver.findElement(By.xpath("//*[@class=‘referBtn‘]/input"));
jse.executeScript("arguments[0].click();", element);
2.通過元素id進行點擊
prompt:該元素在頁面中的id
browser.execute_script("document.getElementById(\‘" + prompt + "\‘).click();")
光標移動:
1.?光標選中輸入框
ordinal :元素id
browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).focus();")
ele:元素對象
browser.execute_script("arguments[0].focus();", ele)
應用場景:鼠標位于輸入框之后的一些事件。
代替:可用selenium中自帶的鼠標移動(ActionChains)操作進行代替
2.光標從這個輸入框中移出
ordinal :元素id
browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).blur();")
ele:元素對象
browser.execute_script("arguments[0].blur();", ele)
應用場景:當光標不在輸入框是,進行一些判斷。
代替:可用selenium中自帶的鼠標移動(ActionChains)操作進行代替
缺點:當你用js進行輸入之后,在使用js移出指令時。輸入框中事件的判斷不會觸發。。
搭配方式:
1.通過ele的輸入+js移出指令。
例如:
ele =browser.find_element_by_id(id)
ele.click()
ele.clear()
ele.send_keys(parameter)
browser.execute_script("arguments[0].blur();", ele)
2.通過js指令執行光標選中+js輸入+js移除
ordinal:元素id
parameter:需要輸入的元素#光標選中id為ordinal的輸入框
browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).focus();")#在元素id為ordinal的輸入框中輸入parameter值
browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).value=\‘" + parameter + "\‘;")#光標從id為ordinal的輸入框中移出
browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).blur();")
頁面滑動:
1.界面滑動到頂部
python:
driver.execute_script("window.scrollTo(0,0)")
java:
((JavascriptExecutor) driver).executeScript("window.scrollTo(0,0)");
2.界面滑動到底部
python:
#界面移動底部
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
java:
//界面移動底部
((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");
3.界面滑動到指定位置:
python:
#界面往下移動700像素
driver.execute_script("window.scrollTo(0,700)")
java:
//界面往下移動700像素
((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 700)");
4.界面滑動到指定元素位置(如果使用這個命令,那么元素位于屏幕中間。。----如有錯誤,請留言。。)
python:
# 移動到元素element對象的“頂端”與當前窗口的“頂部”對齊
driver.executeScript("arguments[0].scrollIntoView();", element)
java:
//移動到元素element對象的指定的位置
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoViewIfNeeded(true);",element);
注:后續更新,不懂的可以留言。請勿噴。!!!~~~~
總結
以上是生活随笔為你收集整理的python executescript_在selenium中一些相对常用的JavaScript事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinkphp一句话疑难解决笔记
- 下一篇: 程序员,软件测试知多少?