標籤:prompt xpath row 中間 元素對象 @class value sel btn
輸入框輸入:
1.找到輸入框的id,然後進行輸入操作
ordinal :輸入框的idparameter :需要輸入的內容 browser.execute_script("document.getElementById(\‘" + ordinal + "\‘).value=\‘" + parameter + "\‘;")
元素點擊:
1..找到元素(selenium找元素的8種方式的其中一種即可)對象然後進行點擊
python:
prompt該元素在頁面中的cssSelectorconfirm = 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:該元素在頁面中的idbrowser.execute_script("document.getElementById(\‘" + prompt + "\‘).click();")
游標移動:
1. 游標選中輸入框
ordinal :元素idbrowser.execute_script("document.getElementById(\‘" + ordinal + "\‘).focus();" )ele:元素對象browser.execute_script("arguments[0].focus();", ele)
應用情境:滑鼠位於輸入框之後的一些事件。
代替:可用selenium中內建的滑鼠移動(ActionChains)操作進行代替
2.游標從這個輸入框中移出
ordinal :元素idbrowser.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:元素idparameter:需要輸入的元素# 游標選中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);
註:後續更新,不懂的可以留言。請勿噴。!!!~~~~
在selenium中一些相對常用的JavaScript事件