获取webrtc应用运行时webrtc-internals的信息:
# coding = utf-8
from selenium import webdriver
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.keys import Keys
import os
import sys
import re
import time
def utf8code(ss):
u8 = re.sub(r'[\000-\377]*', lambda m:''.join([chr(ord(i)) for i in m.group(0)]).decode('utf8'), ss)
return u8
def monitor(url1,url2):
chromedriver = "C:/Users/xxx/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.maximize_window()
#driver.implicitly_wait(15)
# First Tab
driver.get(url1)
window_handle = driver.current_window_handle
print window_handle
print driver.title
time.sleep(3)
# Second Tab
driver.execute_script('''window.open("http://nmeeting.*****.com/", "_blank");''')
lastParameter = ['']*10
nowParameter = ['']*10
isFirst=True
for i in range(1000000):
time.sleep(5)
for peer in range(1,10):
xpath="//*[@id=\"content-root\"]/div[1]/span["+str(peer)+"]"
try:
driver.find_element_by_xpath(xpath).is_displayed()
except:
x=0#
else:
peerUrl = driver.find_element_by_xpath(xpath).text
#print peerUrl
if peerUrl == 'GetUserMedia Requests':
continue
driver.find_element_by_xpath(xpath).click()
peerId = str(str(peerUrl).split("[")[1]).split("]")[0]
parameter = ['']*9
timestamp = str(peerId) + '-table-bweforvideo-timestamp'
googAvailableSendBandwidth = str(peerId) + '-table-bweforvideo-googAvailableSendBandwidth'
googAvailableReceiveBandwidth = str(peerId) + '-table-bweforvideo-googAvailableReceiveBandwidth'
googTargetEncBitrate = str(peerId) + '-table-bweforvideo-googTargetEncBitrate'
googActualEncBitrate = str(peerId) + '-table-bweforvideo-googActualEncBitrate'
googRetransmitBitrate = str(peerId) + '-table-bweforvideo-googRetransmitBitrate'
googTransmitBitrate = str(peerId) + '-table-bweforvideo-googTransmitBitrate'
googBucketDelay = str(peerId) + '-table-bweforvideo-googBucketDelay'
googReceivedPacketGroupPropagationDeltaSumDebug = str(peerId) + '-table-bweforvideo-googReceivedPacketGroupPropagationDeltaSumDebug'
parameter[0] = timestamp
parameter[1] = googAvailableSendBandwidth
parameter[2] = googAvailableReceiveBandwidth
parameter[3] = googTargetEncBitrate
parameter[4] = googActualEncBitrate
parameter[5] = googRetransmitBitrate
parameter[6] = googTransmitBitrate
parameter[7] = googBucketDelay
parameter[8] = googReceivedPacketGroupPropagationDeltaSumDebug
print '***' + str(peerId) + '***'
xpath_bweforvideo = "//*[@id=\"" + parameter[0] + "\"]"
print driver.find_element_by_xpath(xpath_bweforvideo).text #
#
for j in range(1,9):
xpath_bweforvideo = "//*[@id=\"" + parameter[j] + "\"]"
try:
driver.find_element_by_xpath(xpath_bweforvideo).is_displayed()
except:
x=0#
else:
if nowParameter[peer] == '':
nowParameter[peer] = driver.find_element_by_xpath(xpath_bweforvideo).text
else:
nowParameter[peer] = nowParameter[peer] + '\n' + driver.find_element_by_xpath(xpath_bweforvideo).text
print nowParameter[peer]
if isFirst == False:
if lastParameter[peer] == nowParameter[peer] and lastParameter[peer] != '' and nowParameter[peer] != '':
print str(peerId) + utf8code("error")
isFirst = False
lastParameter[peer] = nowParameter[peer]
nowParameter[peer] = ''
print "--------------------------------------------------------------------------"
if __name__ == '__main__':
reload(sys)
sys.setdefaultencoding("utf8")
url1 = "chrome://webrtc-internals/"
url2 = "http://nmeeting.*****.com/"
monitor(url1,url2)
print 'ok'
网友评论