Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Selenium移动内部HTML滚动条?_Python_Selenium_Web Scraping - Fatal编程技术网

Python 如何使用Selenium移动内部HTML滚动条?

Python 如何使用Selenium移动内部HTML滚动条?,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在使用Selenium+Python来解决这个问题。我感兴趣的是从Power BI表中获取信息,我目前可以使用Beautiful Soup来完成这项工作。我的问题是,页面上只加载当前视图中的单元格。其余部分在表格滚动时加载,这只能在鼠标位于表格上方(换句话说,这是驱动程序。执行_脚本('arguments[0]。scrollIntoView(true);',target)不起作用)或向下拖动滚动条时进行。我当前使用的代码尝试查找滚动条元素,单击并按住,然后将其向下拖动若干像素以加载另一组单元

我正在使用Selenium+Python来解决这个问题。我感兴趣的是从Power BI表中获取信息,我目前可以使用Beautiful Soup来完成这项工作。我的问题是,页面上只加载当前视图中的单元格。其余部分在表格滚动时加载,这只能在鼠标位于表格上方(换句话说,这是
驱动程序。执行_脚本('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()
当鼠标点击并保持时,它似乎不在正确的位置。这样做有没有更直接的方法?我曾尝试从answer模拟鼠标滚轮滚动,但我也无法使其工作。

使用:

driver.execute_script("arguments.scrollBy(0,arguments[0].scrollHeight)",scrollBar)
这将滚动元素,您应该在滚动条元素上进行滚动