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

Posted 叮咚丶哈哈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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);

 

 

 

注:后续更新,不懂的可以留言。请勿喷。!!!~~~~

 

以上是关于在selenium中一些相对常用的JavaScript事件的主要内容,如果未能解决你的问题,请参考以下文章

selenium IDE常用命令

Selenium IDE 常用命令

使用python简单封装selenium常用函数

python selenium --一些常用方法

pyrhon selenium基于显示等待封装的一些常用方法

python selenium-webdriver 常用浏览器的操作