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

猜你喜欢

转载自blog.csdn.net/u013434475/article/details/81127908