Python Selenium切换到iframe中的iframe
我正在尝试使用Selenium,Python和BS4在iframe中访问iframe
from bs4 import BeautifulSoupfrom 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()
,则应该没问题:
iframe = driver.find_elements_by_tag_name('iframe')[0]driver.switch_to.default_content()
driver.switch_to.frame(iframe)
driver.find_elements_by_tag_name('iframe')[0]
以上是 Python Selenium切换到iframe中的iframe 的全部内容, 来源链接: utcz.com/qa/398791.html