qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          輕松自動(dòng)化---selenium-webdriver(python) (八)執(zhí)行js語(yǔ)句

          本節(jié)重點(diǎn):

          調(diào)用js方法

          • execute_script(script, *args)

          在當(dāng)前窗口/框架 同步執(zhí)行javaScript

          腳本:JavaScript的執(zhí)行。

          *參數(shù):適用任何JavaScript腳本。

          使用:

          driver.execute_script‘document.title’)

           

           

          使快播登陸用戶名輸入框標(biāo)紅顯示

          復(fù)制代碼
          #coding=utf-8 from selenium import webdriver import time  driver = webdriver.Firefox() driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fvod.kuaibo.com%2F%3Ft%3Dhome")  #給用戶名的輸入框標(biāo)紅 js="var q=document.getElementById(\"user_name\");q.style.border=\"1px solid red\";" #調(diào)用js driver.execute_script(js) time.sleep(3)  driver.find_element_by_id("user_name").send_keys("username") driver.find_element_by_id("user_pwd").send_keys("password") driver.find_element_by_id("dl_an_submit").click() time.sleep(3)  driver.quit()
          復(fù)制代碼

          js解釋:

          q=document.getElementById(\"user_name\")

          元素qid user_name

          q.style.border=\"1px solid red\

          元素q的樣式,邊框?yàn)?/span>1個(gè)像素紅色

           

           

          隱藏元素

          js.html

          復(fù)制代碼
          <html>     <head>       <meta http-equiv="content-type" content="text/html;charset=utf-8" />       <title>js</title>            <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>       <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />               <script type="text/javascript">         $(document).ready(function(){           $('#tooltip').tooltip({"placement": "right"});         });       </script>     </head>      <body>       <h3>js</h3>       <div class="row-fluid">         <div class="span6 well">                   <a id="tooltip" href="#" data-toggle="tooltip" title=" selenium-webdriver(python)">hover to see tooltip</a>           <a class="btn">Button</a>         </div>             </div>             </body>     <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>   </html>
          復(fù)制代碼

          (保持html文件與執(zhí)行腳本在同一目錄下)

           

          執(zhí)行js一般有兩種場(chǎng)景:

          • 一種是在頁(yè)面上直接執(zhí)行JS
          • 另一種是在某個(gè)已經(jīng)定位的元素上執(zhí)行JS

           

          復(fù)制代碼
          #coding=utf-8 from selenium import webdriver  import time,os  driver = webdriver.Firefox() file_path =  'file:///' + os.path.abspath('js.html') driver.get(file_path)  #######通過JS 隱藏選中的元素######### #第一種方法: driver.execute_script('$("#tooltip").fadeOut();') time.sleep(5)  #第二種方法: button = driver.find_element_by_class_name('btn') driver.execute_script('$(arguments[0]).fadeOut()',button) time.sleep(5)  driver.quit()
          復(fù)制代碼

           

          js解釋:

          arguments對(duì)象,它是調(diào)用對(duì)象的一個(gè)特殊屬性,用來(lái)引用Arguments對(duì)象。Arugments對(duì)象就像數(shù)組

          fadeOut() 方法使用淡出效果來(lái)隱藏被選元素,假如該元素是隱藏的。

           

          PS:可以看到js 可以做selenium 做不到的事情,但是在什么樣的自動(dòng)化的時(shí)候才能(或必須)要js幫忙,我還沒遇到過。不過js可以selenium完成更強(qiáng)大的功能,這是不容置疑的。

          另外,之前沒有學(xué)過JS ,所以js代碼很陌生。如果有時(shí)間的話也建議各位同學(xué)補(bǔ)充這方面的知識(shí)。UI自動(dòng)化離不開前端技術(shù)。

          posted on 2014-03-21 14:13 順其自然EVO 閱讀(574) 評(píng)論(0)  編輯  收藏 所屬分類: 自動(dòng)化測(cè)試python

          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 观塘区| 新昌县| 榆社县| 枣阳市| 安塞县| 达日县| 吴川市| 石门县| 永定县| 六枝特区| 泸州市| 鄯善县| 吴川市| 宕昌县| 文登市| 台东县| 广德县| 遂宁市| 彭山县| 金阳县| 蓝田县| 通渭县| 昌都县| 台中县| 门头沟区| 佛坪县| 惠水县| 镇平县| 安溪县| 高雄县| 岑溪市| 五莲县| 呼和浩特市| 莲花县| 敦煌市| 齐河县| 雷山县| 乾安县| 谷城县| 桐梓县| 会宁县|