【问题标题】:Get scroll height or height of an element and not body selenium获取元素的滚动高度或高度,而不是正文硒
【发布时间】:2021-10-15 21:34:31
【问题描述】:

我想找到一个类名为 rslwrp 的元素的高度 如何做到这一点:

stores_container = driver.find_elements_by_class_name('rslwrp')

我知道如何获取正文滚动高度

# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

但是如何找到stores_container 的高度?

编辑这是我初始化驱动程序的方式:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

我错过了一些标题吗?

【问题讨论】:

    标签: python pandas selenium selenium-webdriver


    【解决方案1】:

    在 python 中我会这样做,

    stores_container = driver.find_elements_by_class_name('rslwrp')[0]
    
    size = stores_container.size
    w, h = size['width'], size['height']
    
    print (w, h)
    

    【讨论】:

    • @aryanknp :无论如何你使用的是find_elements,我以为是find_element,上面更新了。或者stores_container = driver.find_element_by_class_name('rslwrp')你可以这样拥有它
    • 这需要一些时间来测试,一旦它对我有用,我会接受你的答案,谢谢你的努力
    • 您好,您能帮我解决另一个问题吗?
    • 我正在尝试点击分页链接,但我的请求被阻止了,但是当我直接使用该分页链接时,它可以工作,你能告诉我有什么问题吗为什么点击分页不起作用我错过了一些标题我正在编辑代码,谢谢你的耐心
    • @aryanknp :看起来像一个新问题,你介意创建一个新票吗?我和社区真的很想帮助你。谢谢。
    【解决方案2】:

    driver.execute_script("return document.body.scrollHeight") 将为您提供 body 元素的 scrollHeight。要获取另一个元素的 scrollHeight,请将 body 替换为 querySelector("<element>"),在您的情况下如下所示:

    driver.execute_script("return document.querySelector('.rslwrp').scrollHeight") 在这种情况下,rslwrp 将是一个类。

    使用 Selenium 选择元素不会让我们访问它的 scrollHeight。在另一个答案中,他正在访问元素的大小,这不是 JavaScript 中的属性,如 scrollHeight 。

    对于不熟悉 JS/CSS 的任何人,querySelector 在引号内包含一个 CSS 选择器,这里有一个关于如何使用此方法按元素标签、ID 或类进行选择的小指南:

    querySelector("div") 选择它找到的第一个 div 元素

    querySelector(".class") 使用句点选择该类的第一个元素

    querySelector("#id") ID 标签。

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 2011-08-05
      • 2012-12-17
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多