<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

    輕松自動化---selenium-webdriver(python) (八)執(zhí)行js語句

    本節(jié)重點:

    調用js方法

    • execute_script(script, *args)

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

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

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

    使用:

    driver.execute_script‘document.title’)

     

     

    使快播登陸用戶名輸入框標紅顯示

    復制代碼
    #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")  #給用戶名的輸入框標紅 js="var q=document.getElementById(\"user_name\");q.style.border=\"1px solid red\";" #調用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()
    復制代碼

    js解釋:

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

    元素qid user_name

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

    元素q的樣式,邊框為1個像素紅色

     

     

    隱藏元素

    js.html

    復制代碼
    <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>
    復制代碼

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

     

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

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

     

    復制代碼
    #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()
    復制代碼

     

    js解釋:

    arguments對象,它是調用對象的一個特殊屬性,用來引用Arguments對象。Arugments對象就像數(shù)組

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

     

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

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

    posted on 2014-03-21 14:13 順其自然EVO 閱讀(571) 評論(0)  編輯  收藏 所屬分類: 自動化測試python

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品在线视频免费| 亚洲а∨精品天堂在线| 国产精品免费看久久久香蕉| 四虎在线播放免费永久视频| 国产亚洲视频在线观看网址| 国产高清在线精品免费软件| 亚洲A∨精品一区二区三区下载| 最近最好的中文字幕2019免费| 学生妹亚洲一区二区| 香蕉高清免费永久在线视频| 亚洲已满18点击进入在线观看| 好爽…又高潮了免费毛片| 亚洲av中文无码乱人伦在线观看| 好男人看视频免费2019中文| 美女羞羞免费视频网站| 亚洲真人无码永久在线| 久久久久久久岛国免费播放| 亚洲成aⅴ人片在线影院八| 美女视频黄a视频全免费| 亚洲日韩AV一区二区三区中文| 国产亚洲精品免费| 狠狠躁狠狠爱免费视频无码 | 毛片免费在线视频| 亚洲色精品三区二区一区| 免费永久国产在线视频| 中文在线观看国语高清免费| 亚洲AV无码久久| 一二三四影视在线看片免费| WWW国产亚洲精品久久麻豆| 亚洲区小说区图片区| 中文字幕亚洲免费无线观看日本| 亚洲五月综合网色九月色| 免费99热在线观看| 国产精成人品日日拍夜夜免费| 亚洲人成77777在线播放网站不卡| 国产精品免费视频播放器| 免费看黄的成人APP| 国产精品亚洲片在线va| 久久伊人亚洲AV无码网站| 三年片在线观看免费大全 | 亚洲免费日韩无码系列 |