调用JavaScript

webdriver 提供了 execute_script() 接口用来调用 js 代码。

 

一、通过 JavaScript 来隐藏页面上的元素

1、新建html文件,复制粘贴以下代码

 1 <html>
 2     <head>
 3         <meta http-equiv="content-type" content="text/html;charset=utf-8" />
 4         <title>js</title>
 5         <script type="text/javascript" async=""
 6 src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
 7         <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css"
 8 rel="stylesheet" />
 9         <script type="text/javascript">
10 $(document).ready(function(){
11 $('#tooltip').tooltip({"placement": "right"});
12 });
13         </script>
14     </head>
15     <body>
16         <h3>js</h3>
17         <div class="row-fluid">
18             <div class="span6 well">
19                 <a id="tooltip" href="#" data-toggle="tooltip" title=" selenium-webdriver(python)">hover to see
20 tooltip</a>
21                 <a class="btn">Button</a>
22             </div>
23         </div>
24     </body>
25 <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
26 </html>

2、脚本实现隐藏页面元素

 1 #coding=utf-8
 2 
 3 '''
 4 execute_script(script, *args)在当前窗口/框架 同步执行 javaScript
 5     script:JavaScript 的执行。
 6     *args:适用任何 JavaScript 脚本。
 7 '''
 8 from selenium import webdriver
 9 import time,os
10 
11 driver = webdriver.Firefox()
12 file_path = 'file:///' + os.path.abspath('js.html')
13 driver.get(file_path)
14 
15 
16 
17 #######通过 JS 隐藏选中的元素##########第一种方法:
18 #隐藏文字信息
19 driver.execute_script('$("#tooltip").fadeOut();')
20 time.sleep(5)
21 
22 
23 #隐藏按钮:
24 button = driver.find_element_by_class_name('btn')
25 driver.execute_script('$(arguments[0]).fadeOut()',button)
26 time.sleep(5)
27 driver.quit()

 

posted @ 2017-07-03 17:48  蓝裙子  阅读(227)  评论(0编辑  收藏  举报