我用Chromedriver
来下载文件,然后我想解析"chrome://downloads"
来获得下载状态,但是我无法得到字符串,请参考下面的代码和结果。我还检查了Chrome中的HTML
。我可以看到<span id="name">Noto-hinted (1).zip</span>
,但是如果我使用view page source
,我就找不到字符串"Noto-hinted (1).zip"
。它是<span id="name" hidden="[[completelyOnDisk_]]">[[data.file_name]]</span>
import time, bs4
from selenium import webdriver
url = "https://noto-website.storage.googleapis.com/pkgs/Noto-hinted.zip"
browser = webdriver.Chrome()
browser.get(url)
time.sleep(5)
browser.get("chrome://downloads/")
time.sleep(30)
soup = bs4.BeautifulSoup(browser.page_source,"lxml")
webElemlist = soup.find('span', id='name')
print(webElemlist)
time.sleep(300)
browser.quit()
输出:
^{pr2}$
你想从屏幕上获取下载项目吗? 右键单击要单击的元素,然后选择“检查”。 这将打开控制台,当您将鼠标悬停在页面上时,您可以看到页面中每个元素的特定标记。在
我在包裹里找到了这个:
您需要做的就是使用id获取这些标记的文本。这也适用于下载文件后。在
编辑:
^{pr2}$如果上述方法不起作用,请尝试执行以下操作:
我把'lxml'改为'html',我收到了如下警告消息,但仍然无法获取字符串。在
警告(来自警告模块): 文件“C:\Python362\lib\site packages\bs4\uuyu init_uj.py”,第181行 标记类型=标记类型) UserWarning:没有显式指定解析器,所以我使用了这个系统中最好的HTML解析器(“lxml”)。这通常不是问题,但如果您在另一个系统上或在不同的虚拟环境中运行此代码,它可能会使用不同的解析器并表现出不同的行为。在
导致此警告的代码位于文件的第1行。若要消除此警告,请更改如下所示的代码:
BeautifulSoup(您的标记})
为此:
BeautifulSoup(您的标记,“lxml”)
相关问题 更多 >
编程相关推荐