我试图通过Selenium从Blog中取消动态内容,但它总是返回未呈现的JavaScript。通过硒刮动态内容?
为了测试这种行为,我试图等到iframe完全加载并打印它的打印质量很好的内容,但是当我移回到父框架时它只显示未呈现的JavaScript。
我在寻找中,我能打印完全呈现HTML内容
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
driver = webdriver.Chrome("path to chrome driver")
driver.get('http://justgivemechocolateandnobodygetshurt.blogspot.com/')
WebDriverWait(driver, 40).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.ID, "navbar-iframe")))
# Rendered iframe HTML is printed.
content = driver.page_source
print content.encode("utf-8")
# When I switch back to parent frame it again prints non rendered JavaScript.
driver.switch_to.parent_frame()
content = driver.page_source
print content.encode("utf-8")
因为'.page_source'返回源,而不是DOM – Fabricator
@Fabricator我怎样才能得到更新的DOM? –
@UmarIqbal,您是否尝试过使用'find_element'方法之一选择元素? – DuckPuncher