2016-07-05 9 views
1

このページで検索ウィンドウを開く必要があります。 Firefoxでセレンとファントムを使用してフレームを切り替える

https://permits.losgatosca.gov/CitizenAccess/default.aspx

はうまく働いているが、私はphantomJSと同じことをしようとすると、私はエラーを得ました。

これは私が

BUTTON_id = 'ctl00_PlaceHolderMain_TabDataList_TabsDataList_ctl01_LinksDataList_ctl00_LinkItemUrl' #'//*[@id="ctl00_PlaceHolderMain_TabDataList_TabsDataList_ctl01_LinksDataList_ctl00_LinkItemUrl"]/span' 
driver_1.switch_to_frame("ACAFrame") 
button = driver_1.find_element_by_id(BUTTON_id) 
button.click() 

検索を開くために使用していますそして、これは私がphanthomJSを取得していますエラーですコードです:this

Message: Error Message => 'Unable to switch to frame' 

は、それが使用しているという投稿します:

driver.switchTo().frame(frame_index) 
driver.switchTo().frame(frame_id) 
driver.switchTo().frame(frame_object) 

問題を解決しますが、私は何を入れるべきかわかりません:

frame_index   
frame_id   
frame_object 

答えて

1

これは、あなたが試みるべきである:

    は、最新バージョンに
  • seleniumPhantomJS両方をアップグレード

  • フレームに切り替える前waitを追加します。

    from selenium.webdriver.common.by import By 
    from selenium.webdriver.support.ui import WebDriverWait 
    from selenium.webdriver.support import expected_conditions as EC 
    
    wait = WebDriverWait(driver, 10) 
    wait.until(EC.presence_of_element_located((By.ID, "ACAFrame"))) 
    
    driver.switch_to.frame("ACAFrame") 
    

(私のために働いた)

+0

あなたはページでそれをテストしますか?私はこのエラーが発生している:TimeoutException(メッセージ、画面、スタックトレース)を上げる selenium.common.exceptions.TimeoutException:メッセージ: スクリーンショット: –

+1

@LuisRamonRamirezRodriguezよ、私のために働いた。私は答えを更新しました。答えの最新バージョンを試してください。 – alecxe

+0

うまくいきました。待ち時間を最適化する方法はありますか? –

関連する問題