2016-04-14 14 views
1

クラスが "top_search"の7つの要素が必要です。しかし、空のリストがimplicitly_waitを使用しているにもかかわらず、以下で印刷されていますなぜこれらの動的ロードされた要素にSeleniumがアクセスできないのですか?

driver = webdriver.Firefox() 
driver.maximize_window() 
driver.implicitly_wait(30) 
driver.get('http://www.egglandsbest.com/where-to-buy/')
 
print driver.find_elements_by_css_selector('div[class="top_search"]') 
+0

何を取得しようとしていますか? –

+0

最終的に私は検索ボックスを取得しようとしています(これも失敗しました)。テストのために、私はページ上に動的にロードされた要素を取得しようとしています。 – Phillip

答えて

1

あなたはIFRAMEに切り替える必要があります。

from selenium import webdriver 
driver = webdriver.PhantomJS() 
driver.implicitly_wait(10) 
driver.get("http://www.egglandsbest.com/where-to-buy/") 
driver.switch_to.frame(driver.find_element_by_id("destini")) 
print driver.find_elements_by_xpath('//div[@class="top_search"]') 

私はちょうどそこに、それを引っ張って、ソースを簡単に見ていました数多くのiframeがありますので、必要なものを選別して調べる必要があります。

+0

AJAXを扱うときに聞いたことがないか、フレームに切り替える必要がありました。これはうまくいくが、興味深いことに何らかの理由でmaximize_windowではない。 – Phillip

関連する問題