我已添加到html文件:maintenance.html iframe:
<iframe name="iframe_name" src="maintenance_state.txt" frameborder="0" height="40" allowtransparency="allowtransparency" width="800" align="middle" ></iframe>
我想使用Python和Selenium获取src文件maintenance_state.txt的内容。 我正在使用:
找到iframe元素maintain = driver.find_element_by_name("iframe_name")
但是,maintain.text返回一个空值。 如何获取在maintenance_state.txt文件中写入的文本。
感谢您的帮助。
答案 0 :(得分:2)
您可以获取src
元素,导航到该元素并获取page_source
:
from urlparse import urljoin
src = driver.find_element_by_name("iframe_name").get_attribute("src")
url = urljoin(base_url, src)
driver.get(url)
print(driver.page_source)
答案 1 :(得分:0)
由于某些网站的脚本在将iframe作为主要文档加载时会阻止iframe正常运行,因此也有必要知道如何读取iframe的源代码而无需为其URL单独发出driver.get
:
driver.switch_to.frame(driver.find_element_by_name("iframe_name"))
print(driver.page_source)
driver.switch_to.default_content()
仅当您希望以后可以在页面上执行其他操作时,才需要最后一行。