我正在抓取使用Google自定义搜索iframe的网站。我正在使用Selenium切换到iframe,并输出数据。我正在使用BeautifulSoup来解析数据等。
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import html5lib
driver = webdriver.Firefox()
driver.get('http://myurl.com')
driver.execute_script()
time.sleep(4)
iframe = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to_default_content()
driver.switch_to_frame(iframe)
output = driver.page_source
soup = BeautifulSoup(output, "html5lib")
print soup
我成功进入iframe并获得了一些'的数据。在数据输出的最顶部,它讨论了启用Javascript,正在重新加载的页面等。我正在寻找的页面部分不在那里(从我查看源代码开始)通过开发者工具)。所以,显然其中一些不是加载。
所以,我的问题 - 你如何让Selenium加载所有页面javascripts?是自动完成的吗?
我在SO上看到很多关于运行单个函数等的帖子......但没有关于在页面上运行所有JS的任何内容。
感谢任何帮助。
答案 0 :(得分:0)
啊,所以它在标签中以&#34为特色;必须启用Javascript"文本。
我刚刚在这里发布了一个关于如何在嵌套iframe中切换的问题: