有没有一种方法可以使用 selenium 和 PYTHON 在网页中向上滚动特定的 div 元素?
Is there a way to scroll up a particular div element in a webpage using selenium with PYTHON?
我可以向下或向上滚动整个网页,但我无法滚动网页中的特定 div 元素
问题是当我打开像 whatsapp web 这样的网页并在包含消息的特定聊天中(这是特定的 div 元素)时,我想从聊天开始抓取所有消息,但我只能抓取视图中的消息(最后几条消息),所以我想将该特定 div 元素滚动到聊天顶部以抓取所有消息。
有人可以在 PYTHON 帮我解决这个问题吗?
谢谢。
有可能。
假设您需要在里面滚动的元素是 div_el
,它的定位器是 xpath_locator
代码将是这样的:
div_locator = "xpath_locator"
div_el = driver.find_element_by_xpath(div_locator)
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", div_el)
查看更多
是的,您可以通过多种方式滚动到特定元素
通过使用 move_to_element()
element = driver.find_element_by_xpath("_element_")
action = ActionChains(driver)
action.move_to_element(element).perform()
通过 scrollIntoView()
element = driver.find_element_by_xpath("_element_")
driver.execute_script("arguments[0].scrollIntoView(true);", element)
供参考 here
我可以向下或向上滚动整个网页,但我无法滚动网页中的特定 div 元素
问题是当我打开像 whatsapp web 这样的网页并在包含消息的特定聊天中(这是特定的 div 元素)时,我想从聊天开始抓取所有消息,但我只能抓取视图中的消息(最后几条消息),所以我想将该特定 div 元素滚动到聊天顶部以抓取所有消息。 有人可以在 PYTHON 帮我解决这个问题吗? 谢谢。
有可能。
假设您需要在里面滚动的元素是 div_el
,它的定位器是 xpath_locator
代码将是这样的:
div_locator = "xpath_locator"
div_el = driver.find_element_by_xpath(div_locator)
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", div_el)
查看更多
是的,您可以通过多种方式滚动到特定元素
通过使用 move_to_element()
element = driver.find_element_by_xpath("_element_")
action = ActionChains(driver)
action.move_to_element(element).perform()
通过 scrollIntoView()
element = driver.find_element_by_xpath("_element_")
driver.execute_script("arguments[0].scrollIntoView(true);", element)
供参考