我正在阅读《用 Python 自动化无聊的事情》第 13 章,但不知道如何让 python-docx 模块工作。当我尝试导入它时ImportError: cannot import name 'etree' from 'lxml' (<path>,__init__.py)。尝试from lxml import etree也行不通。我已经这样做好几天了,刚刚安装了 Anaconda,其中包括 lxml 所需的 libxml2 和 libxslt,但仍然什么也没有。有任何想法吗?我非常迷失,整个过程涉及大约 4 或 5 个不同的文档,但我无法理解其中的任何一个。
以下是我尝试过的几个StackOverflow问题:
lxml安装了pip,所以没关系,但我学到了一些关于轮子的知识,所以这很好。我还找到了一个.exe,但它是针对 Python 2.7 的。
我在 Windows 10 上使用 Python 3.7 64 位。
除了上面的解决方案之外,我还在两个不同的目录中卸载并重新安装了这些软件包,但无济于事。
好的,furas,谢谢您的提示,这是回溯。
C:\Users\...>py
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚返回此 HTML 示例中的特定元素的语法。
<div class="calibre" id="calibre_link-0">
<div class="book" title="Chapter 11. Web Scraping">
<div class="titlepage">
<div class="book">
<div class="book">
<h1 class="title1"><a id="calibre_link-2915" class="firstname"></a>Web Scraping</h1>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试过的是driver.find_elements_by_tag_name('div.calibre.div')并且还使用了
('div.calibre .div') | ('div.calibre + div')它们的其他变体。我已经设法返回页面中的所有 div 元素,但我只想返回嵌套在calibre类中的所有元素(即 book、titlepage、book 和 book)。有没有办法做到这一点?