我无法理解返回这个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>我尝试的是driver.find_elements_by_tag_name('div.calibre.div'),也使用了('div.calibre .div') | ('div.calibre + div')和其他变体。我已经成功地返回了页面中的所有div元素,但我只想返回嵌套在杯类中的所有元素(即图书、标题页、图书和图书)。有办法这样做吗?
发布于 2019-10-15 18:19:05
如果只有一个具有类“量纲”的元素,并且是您需要的元素,那么您可以这样做:
driver.find_element_by_class_name('calibre').find_elements_by_tag_name('div')当您执行driver.find_element_by_class_name('calibre') (或任何其他driver.find...函数)时,该调用将返回一个具有与驱动程序相同方法的对象。换句话说,您可以像浏览整个网页一样,从网页中获得一部分。
在本例中,driver.find_element_by_class_name('calibre')将返回部分带有de元素的网页,其类为“量纲”,并且所有这些元素都是子元素。要访问它的div,您应该使用find_elements_by_tag_name导航它。
https://stackoverflow.com/questions/58400472
复制相似问题