在selenium中一些相對常用的JavaScript事件

來源:互聯網
上載者:User

標籤: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事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.