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);

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值