【问题标题】:How to move an internal HTML scrollbar using Selenium?如何使用 Selenium 移动内部 HTML 滚动条?
【发布时间】:2021-06-20 07:55:41
【问题描述】:

我正在使用 Selenium + Python 来抓取这个 site。我有兴趣从 Power BI 表中获取信息,我目前可以使用 Beautiful Soup 来完成。我的问题是只有当前视图中的单元格才会加载到页面上。其余的在表格滚动时加载,只有当鼠标悬停在表格上时才能完成(换句话说,这个driver.execute_script('arguments[0].scrollIntoView(true);', target) 不起作用)或者向下拖动滚动条。我当前使用的代码尝试找到滚动条元素,单击并按住,然后将其向下拖动一些像素以加载另一组单元格。

scrollBar = driver.find_element_by_class_name("scroll-bar-part-bar")
webdriver.ActionChains(driver).move_to_element(scrollBar).click_and_hold(scrollBar).move_by_offset(0,30).release().perform()

点击并按住时,“鼠标”似乎不在正确的位置。有没有更直接的做法?我曾尝试从this 答案模拟鼠标滚轮滚动,但我也无法让它工作。

【问题讨论】:

    标签: python selenium web-scraping


    【解决方案1】:

    使用:

    driver.execute_script("arguments.scrollBy(0,arguments[0].scrollHeight)",scrollBar)
    

    这会滚动元素,你应该在滚动条元素上滚动

    【讨论】:

      猜你喜欢
      • 2021-01-19
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多