美文网首页Selenium_博客已迁移selenium + python专题
selenium瀏覽器自動化 6 - selenium serv

selenium瀏覽器自動化 6 - selenium serv

作者: Maliao | 来源:发表于2018-05-31 16:35 被阅读30次

    selenium-server可支持遠程操作,而cilent端要使用selenium,直接遠程調用selenium-server,支持多系統平台或多版本瀏覽器同時測試,因為是由clinet進行控制,selenium服務器也不用拉取腳本,非常方便管理。

    基本環境

    1. java

    必須先安裝java,選擇jre即可。

    官網下載

    1. webdriver

    下載webdriver加到環境變數,一定要加入否則會無法驅動。

    ChromeDriver地址

    1. selenium-server-standalone

    至官網下載最新版本selenium-server,需透過java啟動server。

    官網下載

    1. python module "selenium"
    pip install selenium
    

    啟動

    • 啟動 selenium-server
    java -jar selenium-server-standalone-3.12.0.jar
    

    啟動 默認是4444端口

    image

    網頁訪問

    image

    進入console可以看到目前開啟了那些Sessions,點擊Take Screenshot會顯示當前畫面截圖。

    image
    • client 腳本控制

    server與client可以是同一台,也可以分開,由於是瀏覽器自動化,分開的話會更好調試,也比較不會有搶屏的問題。

    官方文檔有說明驅動方式:

    Usage Example::
    
            from selenium import webdriver
    
            selenium_grid_url = "http://198.0.0.1:4444/wd/hub"
    
            # Create a desired capabilities object as a starting point.
            capabilities = DesiredCapabilities.FIREFOX.copy()
            capabilities['platform'] = "WINDOWS"
            capabilities['version'] = "10"
    
            # Instantiate an instance of Remote WebDriver with the desired capabilities.
            driver = webdriver.Remote(desired_capabilities=capabilities,
                                      command_executor=selenium_grid_url)
    
        Note: Always use '.copy()' on the DesiredCapabilities object to avoid the side
        effects of altering the Global class instance.
    

    remote_script1.py

    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    from selenium import webdriver
    
    
    browser = webdriver.Remote(
        command_executor='http://127.0.0.1:4444/wd/hub',
        desired_capabilities=DesiredCapabilities.CHROME,
    )
    
    browser.get("http://www.google.com")
    
    browser.quit()
    
    
    

    DesiredCapabilities為瀏覽器的一些自定義,以下的說明文檔查看更多的配置。

    說明文檔

    DesiredCapabilities.CHROME # 默認的設置,返回的是字典類型
    >>> {'browserName': 'chrome', 'version': '', 'platform': 'ANY'}
    

    相关文章

      网友评论

      本文标题:selenium瀏覽器自動化 6 - selenium serv

      本文链接:https://www.haomeiwen.com/subject/eltxsftx.html