2017-02-17 19 views
1

こんにちは私はblogspotに自動的に投稿するアプリケーションを作ろうとしています。私はしばらく前にセレンを考え出すことができた。私の問題は、画像のアップロードボタンをクリックして新しいフレームを開くことです。フレームを切り替えようとしていますが、ページが開かれるたびにフレーム名が変わります。変更されないのは、クラス名のフレームだけです。ページが最初に開かれると、ページのiframeフィールドが無効になっているように見えます。python selenium hidden frame

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
import time 
#from bs4 import BeautifulSoup  

delay=10 
from selenium import webdriver 
driver = webdriver.Chrome("C:\\Python34\\Scripts\\chromedriver.exe") 
driver.get('https://www.blogger.com/blogger.g?blogID=blogID#allposts/src=sidebar') 
wait = WebDriverWait(driver, 10) 

def start(): 
    email=wait.until(lambda driver:driver.find_element_by_id('Email')) 
    email.clear() 
    email.send_keys('gmailaccound') 
    ileri=wait.until(lambda driver:driver.find_element_by_id('next')) 
    ileri.click() 
# WebDriverWait(driver, delay).until(EC.presence_of_element_located(driver.find_element_by_id('next'))) 

    password=wait.until(lambda driver:driver.find_element_by_id('Passwd')) 
    password.clear() 
    password.send_keys('password') 
    ileri2=wait.until(lambda driver:driver.find_element_by_id('signIn')) 
    ileri2.click() 

    yeni_yayin=wait.until(lambda driver:driver.find_element_by_class_name('OYKEW4D-i-x')) 
    yeni_yayin.click() 
    time.sleep(5)     
    resim_buton=wait.until(lambda driver:driver.find_element_by_css_selector('.tr-image').click()) 
    time.sleep(5) 


    iframe=driver.find_element_by_class_name('picker-frame') 

    driver.switch_to_frame(iframe)  

iframe screenshot

答えて

0

次を参照してください、IFRAMEのnameは、その名前ではiframeに切り替える取得することができます。

if_name = driver.find_element_by_css_selector("iframe[class='picker-frame']").get_attribute("name") 
driver.switch_to_frame(if_name) 
+0

selenium.common.exceptions.WebDriverException:メッセージ:不明なエラー:エレメントはポイント(635,132)でクリック可能ではありません。他の要素はクリックを受け取ります:

+0

あなたは隠し要素をクリックしようとしています:あなたのログをチェックしてください: 'hidden =" true "' –