2017-02-16 4 views
2

スクリプトをロードするためiframeためのiframeが取得するページのphantomjsとセレンpythonで

from selenium import webdriver 
     from selenium.webdriver.support.ui import WebDriverWait 
     from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 
     from selenium.webdriver.support import expected_conditions as EC 
     import unittest  
     import time, re, castro 
     class LoginTest(unittest.TestCase): 

      def setUp(self): 
       self.driver = webdriver.PhantomJS() 
       self.driver.maximize_window() 
       self.driver.get("xxx.html") # getting the page 
       "wanna wait her" 
       print self.driver.save_screenshot("fire.png") 

      def tearDown(self):  
       self.driver.quit() 

     if __name__ == '__main__' : 
      unittest.main() 

HTMLコードで待機する方法:

<body> 
    <iframe src="http://thunder/spidio.net/CF9F4DA6B7533431/devinfo/devdect /d,,,_STN&pg=Post=&ckid=null&ord=123&p=mts&cid=0&pid=124" style="background-color: transparent; border : 0px none transparent; padding: 0px; overflow: hidden;" height="1" width"1"> 
    </iframe> 
</body> 

は私はセレンを待つようにする方法を教えてくださいこのiframeをPythonを使用してセレンでファントムにロードする

答えて

2

以下のコードを使用して、必要なときまで待つことができますiframe

WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.XPATH, "//iframe[starts-with(@src, 'http://thunder/spidio.net/CF9F4DA6B7533431/devinfo/devdect')]"))) 
+0

私は、iframeのを待つために上記のコードを使用していますが、それは、すぐにページの負荷として、IFRAMEは基本的にビデオをロードし、接続を終了し、ビデオが完了するまでどのように私は待つことができ、私は2つのオプションがあります 1)iframeの完了後に警告が表示されるまで待ちます。 2)動画が完了するまで待ちます。 好きな方法とその方法 –

+0

動画の再生完了後に新しい要素がありますか? 「Play again」、「Next video」などのようなものがありますか?ページ「URL」を共有できますか、それとも機密情報ですか? – Andersson

+0

私はあなたにどこかでDMを送ることができます –

関連する問題