2010-05-04 13 views
12

मैं एक पृष्ठ (index.html) जो एक फ्रेम है है:फ्रेम के भीतर जावास्क्रिप्ट निष्पादित करने के लिए आप सेलेनियम का उपयोग कैसे करते हैं?

<html> 
<body> 
<iframe src="otherPage.html" /> 
</body> 
</html> 

और otherPage.html सामग्रियां हैं:

<html> 
<head><link src="jquery-min.js" type="text/javascript" /></head> 
<body><div id="main">Contents</div></body> 
</html> 

मैं सूचकांक पर निम्नलिखित सेलेनियम कोड उपयोग करने का प्रयास कर रहा हूँ । एचटीएमएल:

selenium.open("index.html"); 
selenium.selectFrame("//iframe"); 
selenium.getEval("window.jQuery('div[id=main]')"); 

हालांकि यह बुरी तरह विफल हो जाता है। यह कहता है कि jQuery ऑब्जेक्ट मौजूद नहीं है।

अगर मैं ऐसा तरह otherPage पर सेलेनियम परीक्षण पर अमल करने का प्रयास:

selenium.open("otherPage.html"); 
selenium.getEval("window.jQuery('div[id=main]')"); 

सब कुछ hunky डोरि है।

अभी यह छद्म कोड है, अगर लोग मुझे इसे संकलित करना चाहते हैं तो मैं इसे करूँगा और इसे जिथब पर रखूंगा।

उत्तर

12

सेलेनियम विंडो ऑब्जेक्ट को अपने ऑब्जेक्ट में संग्रहीत करता है ताकि यह इसे बेहतर तरीके से कुशल बना सके। एक बार जब आप फ्रेम पर जाते हैं तो यह इस तरह होना चाहिए।

selenium.getEval("var window = this.browserbot.getUserWindow();window.jQuery('div[id=main]')"); 

और उस के लिए आप

मैं इस स्थिति के इस प्रकार here

+0

किसी भी विचार कैसे करना है सेलेनियम आईडीई से? विंडो रिटर्न [ऑब्जेक्ट XPCNativeWrapper [ऑब्जेक्ट विंडो]] जिसमें jQuery नहीं है (पृष्ठ लोड होने के बाद लंबा समय)। – IAdapter

+0

जब मैं आईडीई में ऐसा करना चाहता था तो Google पर बहुत अधिक स्कोर। कमांड आश्वस्त है लक्ष्य लक्ष्य स्क्रिप्ट है (सुनिश्चित करें कि यदि आप विंडो से संदर्भित करने के लिए jQuery का उपयोग करते हैं तो यह विंडो है। $ ("...) मान वह मान है जो यह लौटाता है। – HMR

11

आप उपयोग कर सकते हैं के लिए अपनी साइट पर एक ट्यूटोरियल है काम करना चाहिए:

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("javascript:sendEvent('play');"); 
+1

सेलेनियम 2 के साथ ऐसा करने का यह तरीका है वेबड्राइवर – Zugwalt

+1

सेलेनियम प्रकार का प्रश्न में उल्लेख नहीं किया गया है। – Innovation

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

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