zoukankan      html  css  js  c++  java
  • Selenium & WebDriver

    有一段时间没有关注Selenium了,最近浏览了下,Selenium已经出到2.0rc3了,最大的变化是WebDriver集成了进来

    什么是WebDriver请看这篇wiki,介绍得很详细,http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions 

    所以Selenium2.0其实就是Selenium 1.x+WebDriver。

    WebDriver除了支持PC浏览器之外,最大的亮点是能够支持移动浏览器——WebDriverForMobileBrowsers  /

    AndroidDriver 支持Android and iOS 

    当然多种开发语言的优点还是保持着,看了下 WebDriver的例子,代码比过去的Selenium更简练,

     1 from selenium import webdriver
     2 import time
     3 
     4 if __name__=='__main__':
     5     # Create a new instance of the Firefox driver
     6     driver = webdriver.Firefox()
     7     
     8     # go to the google home page
     9     driver.get("http://www.google.com")
    10     
    11     # find the element that's name attribute is q (the google search box)
    12     inputElement = driver.find_element_by_name("q")
    13     
    14     # type in the search
    15     inputElement.send_keys("Cheese!")
    16     
    17     # submit the form (although google automatically searches now without submitting)
    18     inputElement.submit()
    19     
    20     # the page is ajaxy so the title is originally this:
    21     print driver.title
    22     
    23     # we have to wait for the page to refresh, the last thing that seems to be updated is the title
    24     while not driver.title.startswith("cheese!"):
    25         # this is an infinite loop... should probably put some logic to break after x time
    26         # sleep for a second
    27         time.sleep(1)
    28     
    29     # You should see "cheese! - Google Search"
    30     print driver.title
    31     

    32     driver.quit()  


    Selenium的启动,除了默认的方式

    java -jar selenium-server.jar

    对于公司内部的代理还可以使用

    java -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=www.google.cn -jar selenium-server.jar  

    java -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=www.google.cn -jar selenium-server.jar  -avoidProxy

    不过我比较喜欢新建一个firefox profile,用firefox.exe -ProfileManager创建 

    java -jar selenium-server.jar -firefoxProfileTemplate "/home/oscarxie/.mozilla/firefox/binmn2bo.selenium" -multiWindow 

    java -jar selenium-server.jar -firefoxProfileTemplate "/home/oscarxie/.mozilla/firefox/binmn2bo.selenium" 

    PS:

    开源应用架构之​Selenium WebDriver(上) 

    http://seleniumhq.org/projects/ 

    http://code.google.com/p/selenium/  

    http://seleniumhq.org/docs/ 

    http://code.google.com/p/selenium/w/list 

    http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html 

  • 相关阅读:
    网鼎杯_2018 _Web_fakebook
    CISCN 2019-ikun
    流浪者-CTF
    wtf.sh-150
    bug-ctf
    EasyRE
    MySQL 存储引擎特性和线程模型
    InnoDB体系结构---物理存储结构
    mysql数据页结构及行格式
    linux系统清理缓存
  • 原文地址:https://www.cnblogs.com/oscarxie/p/2100485.html
Copyright © 2011-2022 走看看