1、js来拖动滚动条
js_="window.scrollTo(100,600);"
driver.execute_script(js_)
2、js来获取input中的输入值
#第一种用jQuery的val方法:
js = "return $('input').val();"
driver.execute_script(js)
#第二种用jQuery的attr方法:
js = "return $('input').attr('value');"
driver.execute_script(js)
tt = driver.execute_script(js)
print u"JS获取的用户信息:",tt
#第三种用selenium自带的方法:
driver.find_element_by_tag_name('input').get_attribute('value')
3、js加弹出窗口提示信息
#弹出提示对话窗口,方便调试
driver.execute_script("alert('输入框标红了!')")
4、js接受提示信息
#接受提示信息
from selenium.webdriver.common.alert import Alert
driver.switch_to_alert().accept()
confirm 元素类
t=driver.switch_to_alert()
print (t.text)
t.accept()
针对js 非div 元素的 alert 弹出事件 可以用:
from selenium.webdriver import ActionChains
alert = driver.switch_to_alert()
#模拟键盘Enter 键
ActionChains(driver).send_keys(Keys.ENTER).perform()
js="$('#SystemDate').val('2017-07-21');"
driver.execute_script(js
6、js选择复选框或取消、全选
#通过执行js,选中复选框
driver.execute_script('var chk =document.getElementById("c1"); chk.checked="checked"')
print driver.find_element_by_id("c1").is_selected()
time.sleep(3)
#通过执行js,取消选中复选框
driver.execute_script('var chk =document.getElementById("c1"); chk.checked=""')
print driver.find_element_by_id("c1").is_selected()
time.sleep(3)
#通过执行js,全选所有复选框,执行的js可以定义函数,通过调用函数全选
driver.execute_script('var checkboxs=document.getElementsByTagName("input");\
for (var i=0;i<checkboxs.length;i++) \
{ var e=checkboxs[i];\
if(e.type=="checkbox")\
{e.checked="checked"; \
} \
};')
time.sleep(3)
#判断是否全选,全选弹出“测试成功”,未全选弹出“测试失败”
driver.execute_script("function checkall()\{ var result=true; \ var checkboxs=document.getElementsByTagName('input');
\for (var i=0;i<checkboxs.length;i++) \{ var e=checkboxs[i]; \ if (e.type=='checkbox') \ {if (!e.checked) \ { result=false; \ continue; \ } \
} \ } \ if(result) \ { alert('Error'); \ } \ else \ { alert('OK'); \ } \ } \ checkall();")