为什么Selenium不能访问这些动态加载的元素?

时间:2016-04-14 00:14:05

标签: python ajax selenium

应该有七个元素的类是“top_search”。但是,尽管使用implicitly_wait:

,仍会使用以下内容打印空列表
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"]')

1 个答案:

答案 0 :(得分: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,所以你必须筛选并看看你需要哪些。