首页 > 解决方案 > Python Selenium,page_source即使在页面完全加载后也没有保存完整的html页面内容

问题描述

问题

我怎样才能确保page_source在完全加载时保留此网页的整个 html 内容?

问题描述

我正在尝试下载一些基因并自动化硒过程。我有许多基因,我想在基因摘要页面上下载csv摘要。

这是基因摘要页面的示例链接,其中下载和 csv 按钮以红色突出显示。 http://research-pub.gene.com/BrainMyeloidLandscape/BrainMyeloidLandscape2/#Human-gene/Human-gene/100034743/geneReport.html

我想点击的按钮(csv)

当我加载网页甚至等到它完全下载时,driver.page_source即使页面已完全加载,其内容中也不包含按钮类,我可以检查元素并找到它。

下载按钮类。

<i class="fa fa-download fa-fw"></i>

我想找到并模拟点击的实际 csv 按钮。

<a href="#" class="ep-download" data-download-csv="">.csv</a>

我知道一些答案说要实现WebDriverWait,但即使实现了page_source,也不包含我正在寻找的类。如何确保page_source保存此网页的整个 html 内容?

这是我的示例代码:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

from selenium import webdriver
import time

driver = webdriver.Chrome()


driver.get('http://research-pub.gene.com/BrainMyeloidLandscape/BrainMyeloidLandscape2/#Human-gene/Human-gene/23550/geneReport.html')
print(driver.title)
print(driver.current_url)

#just to see what is initially saved in page_source
print(driver.page_source)


wait = WebDriverWait(driver, 10)

element = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'fa fa-download fa-fw')))

#wanted to see what is saved after, and the whole page doesn't show
print(driver.page_source) 

标签: pythonhtmlselenium

解决方案


推荐阅读