成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

新版selenium4.0+Python使用詳解

89542767 / 715人閱讀


  小編寫這篇文章的主要目的,是給大家做一個(gè)介紹,具體是給大家介紹新版4.0Python代碼的相關(guān)解釋,以及具體的實(shí)例,下面就給大家詳細(xì)的解答下。


  1、selenium簡(jiǎn)介


  Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera,Edge等;支持的開發(fā)語(yǔ)言有Java、Python、C#、ruby。


  2004年selenium誕生


  2006年webdriver誕生


  2008年selenium與webdriver合并selenium2.0


  2016年selenium3.0誕生


  2021年selenium4.0誕生

0.png

  SeleniumIDE


  嵌入到FIrefox瀏覽器中的一個(gè)插件,實(shí)現(xiàn)簡(jiǎn)單的瀏覽器操作的錄制和回放功能,應(yīng)用場(chǎng)景:快速的創(chuàng)建bug重現(xiàn)場(chǎng)景,在測(cè)試人員測(cè)試過(guò)程中,發(fā)現(xiàn)bug之后可以通過(guò)IDE將重現(xiàn)的步驟錄制下來(lái),以幫助開發(fā)人員更容易的重現(xiàn)bug


  IDE錄制的腳本可以轉(zhuǎn)換為多種語(yǔ)言。從而幫助我們快速的開發(fā)腳本


  Ps:按經(jīng)驗(yàn)建議盡量少用錄制,在人工智能沒(méi)發(fā)展到一定程度,這是一條歪路。


  SeleniumRC


  SeleniumRC是Selenium家族的核心部分。SeleniumRC支持多種不同語(yǔ)言編寫的自動(dòng)化腳本測(cè)試,通過(guò)SeleniumRC服務(wù)器作為代理服務(wù)器去訪問(wèn)應(yīng)用,從而達(dá)到測(cè)試的目的。


  SeleniumRC分為ClientLibraries和SeleniumServer。ClientLibraries庫(kù)主要用于編寫測(cè)試腳本,用來(lái)控制SeleniumServer的庫(kù)。SeleniumServer負(fù)責(zé)控制瀏覽器行為。總的來(lái)說(shuō),SeleniumServer包括三個(gè)部分:Launcher、HttpProxy和Core。其中,SeleniumCore是被SeleniumServer嵌入到瀏覽器頁(yè)面中。其實(shí)SeleniumCore就是一堆JavaScript函數(shù)的集合,即通過(guò)這些javascript函數(shù)我們才能實(shí)現(xiàn)用程序?qū)g覽器的操作。Launcher用于啟動(dòng)瀏覽器,把SeleniumCore加載到瀏覽器頁(yè)面當(dāng)中,并把瀏覽器的代理設(shè)置為SeleniumServer的HttpProxy。


  Ps:建議做WEB自動(dòng)化過(guò)程中可以順便將js學(xué)會(huì)。


  2、環(huán)境Python+selenium


  2.1、selenium庫(kù)安裝


  命令:pipinsatllselenium或pip3installselenium

1.png

  2.2、驅(qū)動(dòng)下載


  瀏覽器驅(qū)動(dòng)下載chrome(ie、火狐可自行學(xué)習(xí))


  確認(rèn)谷歌瀏覽器版本,操作如下圖,確認(rèn)版本為100.0.4896.127

2.png

  針對(duì)瀏覽器版本去下載對(duì)應(yīng)的驅(qū)動(dòng)


  大家可以自行去www.baidu.com搜索谷歌瀏覽器驅(qū)動(dòng)找到后下載,不過(guò)這個(gè)過(guò)程可能比較久。在這里提供所有版本的下載連接


  進(jìn)入網(wǎng)站找到對(duì)應(yīng)版本的驅(qū)動(dòng)下載,上圖版本是100.0.4896.127,是以要找到對(duì)應(yīng)版本下載,如果找不到對(duì)應(yīng)版本,可以找最相近的版本。也是可以用來(lái)驅(qū)動(dòng)瀏覽器的,不能用一定會(huì)有對(duì)應(yīng)版本出現(xiàn);現(xiàn)在沒(méi)有找到100.0.4896.127版本,所以找到最接近版本100.0.4896.60下載

3.png

  選擇當(dāng)前系統(tǒng)所對(duì)應(yīng)的版本,像window版本,直接下win32的包,不用擔(dān)心64位系統(tǒng)。通用,如果不通用,肯定會(huì)有一個(gè)win64的包。

4.png

  將下載的zip壓縮包解壓出來(lái)的chromedriver.exe的文件

5.png

  2.3、驅(qū)動(dòng)位置與使用


  驅(qū)動(dòng)位置有兩種,這里講靈活放置法,規(guī)范放置法大家可當(dāng)課題自行去研究。


  靈活放置是將驅(qū)動(dòng)文件放到selenium執(zhí)行代碼文件同級(jí)目錄下即可。


  舉例:


  新增一個(gè)python項(xiàng)目,然后將chromedriver.exe文件放到項(xiàng)目目錄下


  新增一個(gè)demo01.py文件在文件里編寫打開百度的代碼


  fromseleniumimportwebdriver


  dr=webdriver.Chrome()


  dr.get('https://www.baidu.com')


  運(yùn)行。如下圖,成功打開谷歌瀏覽器,訪問(wèn)百度網(wǎng)站

6.png

  3、selenium庫(kù)代碼講解


  使用selenium之前,需要先了解一些網(wǎng)頁(yè)元素定位的知識(shí),結(jié)合這些知識(shí)來(lái)實(shí)現(xiàn)元素定位后點(diǎn)擊,編輯等


  如何手動(dòng)進(jìn)行元素定位?


  打開瀏覽器---f12進(jìn)入開發(fā)者模式---在Elements頁(yè)面---使用選擇工具去頁(yè)面點(diǎn)擊對(duì)應(yīng)元素---HTML將自動(dòng)展開并高亮顯示選擇到的元素標(biāo)記


  重要知識(shí)點(diǎn)


  find_element()與find_elements()方法


  元素定位八大方式


  將上面兩點(diǎn)結(jié)合起來(lái)講解,如下:


  3.1~3.7介紹定位八大方式,3.8是講js獨(dú)立腳本


  3.1、id


  在網(wǎng)頁(yè)HTML中發(fā)現(xiàn)有一個(gè)元素剛好有id屬性,很幸運(yùn),因id基本上需要唯一,不然Doc會(huì)出現(xiàn)未知異常。我們可以使用其定位出來(lái)這元素來(lái)實(shí)現(xiàn)對(duì)應(yīng)操作。因?yàn)樗俏ㄒ坏?,所以一般可以使用find_element()來(lái)定位


  舉例:


  進(jìn)入百度,搜索’路飛’,


  可以通過(guò)f12在html里知道百度搜索框架的id是kw,搜索按鈕的id是su


  所以編寫代碼如下:


 #導(dǎo)入庫(kù)
  fromseleniumimportwebdriver
  fromselenium.webdriver.common.byimportBy
  #初始化瀏覽器
  dr=webdriver.Chrome()
  #打開百度
  dr.get('https://www.baidu.com')
  #輸入路飛
  dr.find_element(By.ID,'kw').send_keys('路飛')
  #點(diǎn)擊百度一下
  dr.find_element(By.ID,'su').click()


  在最開始需要將selenium的webdriver與By導(dǎo)入


  在輸入路徑語(yǔ)句中查詢?cè)胤椒╢ind_element里參數(shù)一By.ID表示定位屬性是id,參數(shù)二表示屬性值為kw


  代碼執(zhí)行如下

7.png

  3.1、name


  在網(wǎng)頁(yè)HTML中發(fā)現(xiàn)有一個(gè)元素有name屬性,也很幸運(yùn),因?yàn)殚_發(fā)能添加name,也是要給其標(biāo)記,將其與其他元素區(qū)別。我們可以使用其定位出來(lái)這元素來(lái)實(shí)現(xiàn)對(duì)應(yīng)操作。


  舉例:


  還是進(jìn)入百度,搜索’諸葛亮’


  可以通過(guò)f12在html里知道百度搜索框的name是wd,搜索按鈕的id是su


  所以編寫代碼如下:(在上面已經(jīng)導(dǎo)包了,下面的代碼就不導(dǎo)包了)


  dr=webdriver.Chrome()
  dr.get('https://www.baidu.com')
  dr.find_element(By.NAME,'wd').send_keys('諸葛亮')
  dr.find_element(By.ID,'su').click()


  可以見輸入諸葛亮這條語(yǔ)句查詢?cè)胤椒╢ind_element參數(shù)一由By.NAME表示用name定位,參數(shù)二也是取name的值wd


  代碼執(zhí)行如下

8.png

  3.3、Class


  網(wǎng)頁(yè)HTML一般都會(huì)有class屬性,前端開發(fā)者會(huì)用其來(lái)歸類批量添加樣式,所以它可能不是唯一的標(biāo)識(shí)。這里我們可能會(huì)使用find_elements()來(lái)獲取


  舉例:


  進(jìn)入CSDN,點(diǎn)擊分類


  使用f12查看CSDN的HTML,發(fā)現(xiàn)在所有分類元素的class均是navigation-right


  所以代碼編寫如下


  dr=webdriver.Chrome()
  dr.get('https://www.csdn.net/')
  #點(diǎn)擊第一個(gè)分類
  dr.find_elements(By.CLASS_NAME,'navigation-right')[0].click()
  #等待3秒
  time.sleep(3)
  #點(diǎn)擊第一個(gè)分類
  dr.find_elements(By.CLASS_NAME,'navigation-right')[1].click()


  可以見點(diǎn)擊查詢?cè)胤椒╢ind_element參數(shù)一由By.CLASS_NAME表示了要取class定位,參數(shù)二則是給出class的值


  代碼執(zhí)行如下

8.png

  3.4、tag


  tag是網(wǎng)頁(yè)HTML中的標(biāo)記,HTML由標(biāo)記組成,一個(gè)標(biāo)記就是一個(gè)元素,所以它基本上不會(huì)唯一,所以也使用find_elemenets()來(lái)獲取


  舉例:


  進(jìn)入CSDN,點(diǎn)擊頭條新聞


  使用F12查看CSDN的HTML,發(fā)現(xiàn)頭條新聞的分類元素的標(biāo)簽是dl


  所以代碼編寫如下


 dr=webdriver.Chrome()
  dr.get('https://www.csdn.net/')
  dr.find_elements(By.TAG_NAME,'dl')[0].click()


  可以見點(diǎn)擊查詢?cè)胤椒╢ind_element參數(shù)一由By.TAG_NAME表示了要取tag定位,參數(shù)二則是給出tag名


  代碼執(zhí)行結(jié)果如下

9.png

  3.5、Link


  Link表示包含有屬性href=“https://www.xxxxxxx.com”元素,可以通過(guò)linktext定位,linktext是頁(yè)面上展示的文字。它還可以部分linktext定位。


  網(wǎng)上很多文章將linktext通過(guò)全linktext與部分linktext區(qū)分為兩種定位方式,沒(méi)有本文最后的JS定位方式,也是對(duì)的。


  舉例:


  進(jìn)入CSDN,點(diǎn)擊分類


  使用F12查看CSDN的HTML,發(fā)現(xiàn)分類都是有href屬性的,可以用linktext定位


  所以代碼編寫如下:


  dr=webdriver.Chrome()
  dr.get('https://www.csdn.net/')
  #通過(guò)linetext點(diǎn)擊‘Java'分類
  dr.find_element(By.LINK_TEXT,'Java').click()
  time.sleep(3)


  #通過(guò)部分linktext點(diǎn)擊‘人工智能'分類


  dr.find_element(By.PARTIAL_LINK_TEXT,'人工智').click()


  參數(shù)一By.LINK_TEXT表示全部匹配linktext定位找到元素,參數(shù)二值是頁(yè)面這個(gè)鏈接的全部文案‘Java’


  參數(shù)一By.PARTIAL_LINK_TEXT表示模糊匹配linktext定位找到元素,參數(shù)二值是頁(yè)面這個(gè)鏈接部分文案‘人工智’


  代碼執(zhí)行結(jié)果如下


  3.6、xpath


  xpath是XML路徑定位器,HTML與XML相似,所以也可以用xpath來(lái)定位,這個(gè)相對(duì)于前面的來(lái)說(shuō),需要大家掌握一些xpath的理論知識(shí)。


  xpath定位邏輯是通過(guò)id、name、class等屬性定位到一個(gè)大范圍元素然后再通過(guò)路徑定位到精準(zhǔn)元素;針對(duì)定位到多個(gè)元素時(shí)也可以下標(biāo)取值,但下標(biāo)從1開始??梢杂脁path定位到任何元素


  表格的內(nèi)容弄懂后,但并不一定會(huì)用到,懂了是讓自己知道xpath是如何定位的;實(shí)戰(zhàn)中基本上用到xpath定位時(shí),一般使用瀏覽器f12里面copyxpath功能,獲取到對(duì)應(yīng)元素的xpath(老手一般是自己寫xpath,因?yàn)镕12有時(shí)復(fù)制的xpath不是最精簡(jiǎn)的)


  比如我要獲取CSDN技術(shù)樹元素的xpath,只需要按照下圖箭頭的順序點(diǎn)擊,即可獲取到對(duì)應(yīng)的xpath了


  然后用基來(lái)舉例:


  舉例:


  進(jìn)入CSDN,點(diǎn)擊技能樹元素


  通過(guò)F12里的copyxpath功能可以知道技能樹元素的xpath為//*[@id="www-home-right"]/div[1]/div[2]/div[1]/div/span


  所以代碼編寫如下


 dr=webdriver.Chrome()
  dr.get('https://www.csdn.net/')
  dr.find_element(By.XPATH,'//*[@id="www-home-right"]/div[1]/div[2]/div[1]/div/span').click()


  參數(shù)一By.XPATH表示使用xpath方式定位,參數(shù)二是給元素xpath值


  代碼執(zhí)行如下


  3.7、css選擇器


  css是前端樣式,這里說(shuō)的css定位是用css樣式里定位元素用的方法叫做css選擇器。


  符號(hào).代表class,符號(hào)#代表id,路徑空格寫tag名


  它與xpath一樣,可以定位到任何元素,也可以直接通過(guò)F12的copyselector來(lái)取得元素的css選擇器


  舉例


  進(jìn)入CSDN,點(diǎn)擊CSDN指數(shù)元素


  通過(guò)f12里的copyselector取得元素的css選擇器為:#www-home-right>div.www-home-silde>div.ContentBlock>div:nth-child(1)>div>span


  所以代碼編寫如下


  dr=webdriver.Chrome()
  dr.get('https://www.csdn.net/')
  dr.find_element(By.CSS_SELECTOR,'#www-home-right>div.www-home-silde>div.ContentBlock>div:nth-child(2)>div>span').click()


  參數(shù)一By.CSS_SELECTOR表示使用css方式定位,參數(shù)二是給元素css選擇器


  代碼執(zhí)行如下:


  3.8、js執(zhí)行


  js不是定位器


  js不是定位器


  js不是定位器


  js是javascript,是可以獨(dú)以運(yùn)行的腳本;不使用selenium的方法,進(jìn)行頁(yè)面元素的點(diǎn)擊、輸入、拖拽等等操作,像如果對(duì)js使用很熟練,那么也就完全不需要管上面的定位方式。全部可以使用js來(lái)實(shí)現(xiàn)頁(yè)面元素的各種操作。


  像滾動(dòng)條拖拽是沒(méi)法用元素定位操作的,只能使用js


  舉例:(新手經(jīng)典問(wèn)題)


  進(jìn)入CSDN,拖拽滾動(dòng)條


  滾動(dòng)條拖拽的js為document.documentElement.scrollTop=10000


  代碼編寫如下


  dr=webdriver.Chrome()
  dr.get('https://www.csdn.net/')
  dr.execute_script('document.documentElement.scrollTop=10000')


  使用exeute_script執(zhí)行JS


  代碼執(zhí)行如下

15.png

  4、selenium封裝


  上面講了selenium八大元素定位方式,但做自動(dòng)化肯定不是一直寫這樣的python代碼,因?yàn)闀r(shí)間與空間上都浪費(fèi)人力,不如功能測(cè)試,所以我們需要學(xué)會(huì)去二次封裝selenium。將其制定成規(guī)則化的自然代碼來(lái)讓自動(dòng)化變得簡(jiǎn)單易懂。


  4.1、設(shè)計(jì)規(guī)則


  一、做自動(dòng)化是模擬人的操作,所以有操作字段:點(diǎn)擊、輸入等


  二、定位元素需要定位方式,所以有定位器字段:id、name、class、tag、link、plink、xpath、css、js


  三、定位器有了,定位器的對(duì)象字段也要有


  四、頁(yè)面相同屬性的元素有多個(gè),所以需要一個(gè)下標(biāo)字段


  五、輸入、下拉、檢查需要值,所以值字段也需要一個(gè)


  基本上暫時(shí)可以先確定這些字段:


  operation、type、locatuion、index、value


  4.2、確認(rèn)入口函數(shù)


  設(shè)計(jì)好五個(gè)參數(shù)后,基本上操作就只需要這五個(gè)參數(shù)了,所以需要一個(gè)統(tǒng)一入口函數(shù),將這五個(gè)參數(shù)均帶入其實(shí)。


 defweb_autotest_opr(operation,type,locatuion,index,value)


  4.3、設(shè)計(jì)邏輯


  一、封裝瀏覽器打開功能,返回瀏覽器對(duì)象


  二、封裝入口函數(shù)


  三、封裝定位元素方式


  四、封裝元素操作方式


  4.4、代碼封裝


  fromseleniumimportwebdriver
  fromselenium.webdriver.common.byimportBy
  defopen_url(url):
      '''
      打開瀏覽順訪問(wèn)url,并返回瀏器操作句柄
      :paramurl:要測(cè)試的網(wǎng)站url
      :return:webdriver對(duì)像
      '''
      opr=webdriver.Chrome()
      opr.get(url)
      returnopr
  defget_element(opr:webdriver.Chrome,type,locatuion,index):
      '''
      獲取元素并返回
      :paramopr:瀏覽器句柄
      :paramtype:定位器類型
      :paramlocatuion:定位器
      :paramindex:下標(biāo)
      :return:元素對(duì)象
      '''
      ifstr.lower(type)=='id':
          returnopr.find_elements(By.ID,locatuion)[index]
      elifstr.lower(type)=='name':
          returnopr.find_elements(By.NAME,locatuion)[index]
      elifstr.lower(type)=='class':
          returnopr.find_elements(By.CLASS_NAME,locatuion)[index]
      elifstr.lower(type)=='tag':
          returnopr.find_elements(By.TAG_NAME,locatuion)[index]
      elifstr.lower(type)=='link':
          returnopr.find_elements(By.LINK_TEXT,locatuion)[index]
      elifstr.lower(type)=='plink':
          returnopr.find_elements(By.PARTIAL_LINK_TEXT,locatuion)[index]
      elifstr.lower(type)=='xpath':
          returnopr.find_elements(By.XPATH,locatuion)[index]
      elifstr.lower(type)=='css':
          returnopr.find_elements(By.CSS_SELECTOR,locatuion)[index]
  defelement_opr(el:webdriver.Chrome.find_element,operation,value):
      '''
      元素操作
      :paramel:元素對(duì)象
      :paramoperation:操作類型
      :paramvalue:值
      :return:成功(True)or失敗(False)
      '''
      ifoperation=='點(diǎn)擊':
          el.click()
          returnTrue
      elifoperation=='輸入':
          el.send_keys(value)
          returnTrue
  defweb_autotest_opr(opr:webdriver.Chrome,operation,type,locatuion,index=0,value=''):
      '''
      元素操作統(tǒng)一入口
      :paramopr:瀏覽器句柄
      :paramoperation:操作類型
      :paramtype:定位器類型
      :paramlocatuion:定位器
      :paramindex:下標(biāo)
      :paramvalue:值
      :return:成功(True)or失敗(False)
      '''
      ifstr.lower(type)!='js':
          el=get_element(opr,type,locatuion,index)
          result=element_opr(el,operation,value)
      else:
          result=opr.execute_script(locatuion)
      returnresult


  這一部分屬于UI自動(dòng)化測(cè)試框架的核心部分的封裝,當(dāng)然邏輯肯定不止這些,并且上面這些代碼是面向過(guò)程的,等大家有實(shí)力了,可以慢慢優(yōu)化這些代碼,盡量變成面向?qū)ο蟮摹?/p>


  這一部分內(nèi)容就為大家介紹到這里了,希望可以為各位讀者帶來(lái)幫助。


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/127830.html

相關(guān)文章

  • 知乎最新版模擬登陸詳解,小白也能懂

    摘要:模擬登陸知乎這個(gè)知乎的登陸也是坑滿滿,我也給踩了幾個(gè),這個(gè)就直接說(shuō)坑吧,其他的就不多說(shuō)了。 以下內(nèi)容僅交流學(xué)習(xí),請(qǐng)勿用于非法用途 如果你現(xiàn)在想模擬登陸知乎,會(huì)發(fā)現(xiàn) fromdata 是一串加密的字符串 showImg(https://segmentfault.com/img/remote/1460000018245629); 看了之后是不是很痛苦?你是不是就想使用 selenium 來(lái)...

    buildupchao 評(píng)論0 收藏0
  • 知乎最新版模擬登陸詳解,小白也能懂

    摘要:模擬登陸知乎這個(gè)知乎的登陸也是坑滿滿,我也給踩了幾個(gè),這個(gè)就直接說(shuō)坑吧,其他的就不多說(shuō)了。 以下內(nèi)容僅交流學(xué)習(xí),請(qǐng)勿用于非法用途 如果你現(xiàn)在想模擬登陸知乎,會(huì)發(fā)現(xiàn) fromdata 是一串加密的字符串 showImg(https://segmentfault.com/img/remote/1460000018245629); 看了之后是不是很痛苦?你是不是就想使用 selenium 來(lái)...

    xuxueli 評(píng)論0 收藏0
  • Anaconda入門詳解

    摘要:的包使用軟件包管理系統(tǒng)進(jìn)行管理。超過(guò)萬(wàn)人使用發(fā)行版本,并且擁有超過(guò)個(gè)適用于和的數(shù)據(jù)科學(xué)軟件包。提供了大部分功能,并且大多數(shù)情況下兩個(gè)可以同時(shí)使用。 Anaconda Anaconda簡(jiǎn)介 Anaconda是一個(gè)免費(fèi)開源的Python和R語(yǔ)言的發(fā)行版本,用于計(jì)算科學(xué)(數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、大數(shù)據(jù)處理和預(yù)測(cè)分析),Anaconda致力于簡(jiǎn)化包管理和部署。Anaconda的包使用軟件包管理系統(tǒng)...

    AlphaWallet 評(píng)論0 收藏0
  • 分享Python以太坊虛擬機(jī)實(shí)現(xiàn)Py-EVM

    摘要:是用編寫的以太坊虛擬機(jī)的新實(shí)現(xiàn)。目前上個(gè),正在積極開發(fā)中,但正在通過(guò)以太坊測(cè)試提供的測(cè)試套件快速推進(jìn)。高度靈活地支持研究以及私有區(qū)塊鏈等替代用例。第步發(fā)布該計(jì)劃首先是適用于測(cè)試目的的,級(jí)發(fā)布。需要才能將轉(zhuǎn)換為正確的格式,以便在上正確呈現(xiàn)。 Py-EVM是用Python編寫的以太坊虛擬機(jī)的新實(shí)現(xiàn)。目前github上695個(gè)star,正在積極開發(fā)中,但正在通過(guò)以太坊/測(cè)試提供的測(cè)試套件快速...

    yuanzhanghu 評(píng)論0 收藏0
  • 分享Python以太坊虛擬機(jī)實(shí)現(xiàn)Py-EVM

    摘要:是用編寫的以太坊虛擬機(jī)的新實(shí)現(xiàn)。目前上個(gè),正在積極開發(fā)中,但正在通過(guò)以太坊測(cè)試提供的測(cè)試套件快速推進(jìn)。高度靈活地支持研究以及私有區(qū)塊鏈等替代用例。第步發(fā)布該計(jì)劃首先是適用于測(cè)試目的的,級(jí)發(fā)布。需要才能將轉(zhuǎn)換為正確的格式,以便在上正確呈現(xiàn)。 Py-EVM是用Python編寫的以太坊虛擬機(jī)的新實(shí)現(xiàn)。目前github上695個(gè)star,正在積極開發(fā)中,但正在通過(guò)以太坊/測(cè)試提供的測(cè)試套件快速...

    darryrzhong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<