我正在尝试向下滚动HTML表,直到最后一行可见,该表最初加载大约20行,然后在向下滚动时加载更多行。我正在使用selenium webdriver和python来自动化这个过程,但到目前为止我被困住了,因为我的代码在下面向下滚动整个页面,而不是在函数中作为参数传递的特定表。
这是我的代码 要滚动的Web元素作为参数传递,以及它将向下滚动的次数
def scroll_down_element(self, element, times):
try:
action_chain = ActionChains(self.browser)
counter = 0
while(counter < times):
element.send_keys(Keys.ARROW_DOWN)
counter += 1
sleep(0.25)
except Exception as e:
print 'error scrolling down web element', e
欢迎所有建议
答案 0 :(得分:1)
这是我在尝试javascript和其他selenium方法的几种不同组合后使用的代码。空间向下滚动比ARROW_DOWN或DOWN键更深。
def scroll_down_element(self, element, times):
try:
action = ActionChains(self.browser)
action.move_to_element(element).perform()
element.click()
for _ in range(times):
element.send_keys(Keys.SPACE)
sleep(0.1)
except Exception as e:
print 'error scrolling down web element', e
答案 1 :(得分:0)
使用JS在Web元素中滚动。下面给出一个例子:
def scroll_down_element(self, element):
try:
self.browser.execute_script("arguments[0].scrollTop = 200", element)
except Exception as e:
print 'error scrolling down web element', e
希望这有帮助!