2010-09-14 12 views
8

में कैप्चरनेटवर्क ट्रैफिक का उपयोग कैसे करते हैं मुझे जावा में सेलेनियम के लिए कई ट्यूटोरियल मिलते हैं जिसमें आप पहले s.start("captureNetworkTraffic=True") का उपयोग करके सेलेनियम शुरू करते हैं, लेकिन पाइथन start() में कोई तर्क नहीं लेता है।सेलेनियम-आरसी: आप पाइथन

आप इस तर्क को कैसे पार करते हैं? या आपको इसे अजगर में नहीं चाहिए?

उत्तर

5

मैं बदल startselenium.py में:

def start(self, captureNetworkTraffic=False): 
    l = [self.browserStartCommand, self.browserURL, self.extensionJs] 
    if captureNetworkTraffic: 
     l.append("captureNetworkTraffic=true") 
    result = self.get_string("getNewBrowserSession", l) 

, जिसे आप कार्य करें:

sel = selenium.selenium('localhost', 4444, '*firefox', 'http://www.google.com') 
sel.start(True) 
sel.open('') 
print sel.captureNetworkTraffic('json') 

और यह एक आकर्षण

+1

'* फ़ायरफ़ॉक्स 'भाग क्या है? – maudulus

+0

लेकिन मुझे त्रुटि मिल रही है 'नाम त्रुटि: वैश्विक नाम' captureNetworkTraffic 'परिभाषित नहीं किया गया है – SIslam

+0

क्या यह कोड केवल सेलेनियम 2.7.0 के लिए है? – SIslam

1

ब्राउज़र को "प्रॉक्सी-इंजेक्शन मोड" में प्रारंभ करें (के बजाय *pifirefox नोट करें)। फिर आप captureNetworkTraffic विधि को कॉल कर सकते हैं।

import selenium 
import time 

sel=selenium.selenium("localhost",4444,"*pifirefox","http://www.google.com/webhp") 
sel.start() 
time.sleep(1) 
print(sel.captureNetworkTraffic('json')) 

मैं *pifirefox "चाल" here सीखा है।

+0

तरह काम करता है लेकिन "captureNetworkTraffic साथ ड्राइवर प्रारंभ किए बिना इस पद्धति का काम करता है = सच "? जावा के विपरीत मतलब, आदि। पाइथन में यह विधि या सुविधा "हमेशा चालू" होगी? – David

+0

@ डेविड: 'captureNetworkTraffic = true' के बजाय, मुझे पता चला कि मुझे प्रॉक्सी इंजेक्शन मोड में ब्राउज़र शुरू करने की आवश्यकता है। (ऊपर देखें) – unutbu

+0

क्या यह कोड केवल सेलेनियम 2.7.0 के लिए है? – SIslam

संबंधित मुद्दे