我试图使用Selenium、Python和BS4访问iframe中的iframe
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import html5lib
driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get('http://myurl.com')
try:
time.sleep(4)
iframe = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to_default_content()
driver.switch_to_frame(iframe)
driver.switch_to_default_content()
driver.find_elements_by_tag_name('iframe')[0]
output = driver.page_source
print output
finally:
driver.quit();
在返回的文本中,似乎还有两个iframe。我怎么才能拿到这些?我在上面的代码中尝试过,但没有成功。
switch_to_default_content()
将返回文档顶部。正在发生的是,您切换到第一个iframe
,切换回文档顶部,然后试图找到第二个iframe
。硒找不到第二个iframe
,因为它在第一个iframe
的内部。如果您删除第二个
switch_to_default_content()
,您应该可以:相关问题 更多 >
编程相关推荐