硒按特定像素值滚动

时间:2018-07-31 20:46:16

标签: javascript selenium selenium-webdriver scroll

对于python硒,我可以使用

滚动到元素
self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)

或将像素值用作

driver.execute_script("window.scrollTo(0, <vertical_position_to_scroll> )")

但是有办法从当前元素或当前位置滚动特定的像素值。例如如果我移到元素,我想从那里向上滚动10个像素。

2 个答案:

答案 0 :(得分:4)

我会使用window.scrollBy(x, y)

像这样:

#first move to the element
self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)
#then scroll by x, y values, in this case 10 pixels up
self.driver.execute_script("window.scrollBy(0, -10);")

HERE,您将在scrollBy上找到文档。

答案 1 :(得分:0)

滚动到页面上的特定元素:

element = driver.find_element_by_xpath("html/body/div[6]/div[1]/div[2]/a")

element.location_once_scrolled_into_view