python+selenium2学习笔记webdriver-17调用js脚本

调到js脚本是经常要用到的,比如某元素不可见,可以用js去改变属性;用js去强行点击元素;用js去操作某些控件等等。用途还是比较广的,建议掌握。

方法是:execute_script

看个操作浏览器位子的例子:

from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.set_window_size(600,600)
driver.find_element_by_id("kw").send_keys("lalala")
driver.find_element_by_id("su").click()
#通过JavaScript设置浏览器窗口的滚动位子
js = "window.scrollTo(100,450);"
driver.execute_script(js)
sleep(3)
driver.quit()
'''
window.scrollTo(水平位置,垂直位置);
水平位置是指水平的左间距;
垂直位置是指垂直的上边距;'''

再看一个再文本框里输入内容的例子

首先是html,文件名是文本框19:

<!DOCTYPE HTML>  
<html lang="en">  
 <head>  
  <meta charset="utf-8">  
  <title>文本框 TEST</title>
 </head>  
 <body>  
   <h3>请输入内容:</h3>
   <form action="" method="get" name="1">  
    <textarea id= "id" name="suggest" cols="50" rows="10"></textarea>
    <br>  
    <input type="submit" id="3" value="提交">
   </form>  
 </body>  
</html>  

然后看代码:

from selenium import webdriver
import time,os
driver = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath("文本框19.html")
driver.get(file_path)
text = "随便输入什么东西"
#将text与JavaScript代码通过“+”拼接,这样是使输入的内容变得可以自定义
js = "var sum=document.getElementById('id');sum.value='" + text + "';"
driver.execute_script(js)
time.sleep(3)
driver.quit()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值