How to Scroll web page to the target element using selenium(如何使用 selenium 将网页滚动到目标元素)
问题描述
我想滚动到 selenium 中的一个元素,但我希望它位于页面顶部,而不仅仅是在页面上可见.
我怎样才能使页面滚动以使滚动到的元素位于浏览器的顶部?
target = browser.find_element_by_css_selector(".answers-wrap")动作 = ActionChains(浏览器)actions.move_to_element(目标)动作.执行()这是使用我们所在页面的示例
要将网页垂直滚动 1000 像素,请使用 execute_script("window.scrollBy(0,1000)")
例子
导入时间从硒导入网络驱动程序chrome_browser = webdriver.Chrome()chrome_browser.get('https://stackoverflow.com/questions/61071131/''在页面顶部滚动硒驱动程序以制作元素')时间.sleep(4)''' execute_script("window.scrollBy(x-pixels,y-pixels)")垂直向下滚动页面 1000 像素'''chrome_browser.execute_script("window.scrollBy(0,1000)")<块引用>
execute_script("window.scrollBy(x-pixels,y-pixels)")
x-pixels 是 x 轴上的数字,如果数字是正数,它会向左移动,如果数字是负数,它会向右移动.y-pixels 是 y 轴上的数字,如果数字为正则向下移动,如果数字为负则向上移动.
<小时>
向下滚动网页到目标元素.
<块引用>execute_script("arguments[0].scrollIntoView();", element)
"arguments[0]" 表示页面的第一个索引从 0 开始.
代码示例
导入时间从硒导入网络驱动程序chrome_browser = webdriver.Chrome()chrome_browser.get('https://stackoverflow.com/questions/61071131/''在页面顶部滚动硒驱动程序以制作元素')时间.sleep(4)元素 = chrome_browser.find_element_by_css_selector("#footer > div > nav > div:nth-child(1) > h5 > a")chrome_browser.execute_script("arguments[0].scrollIntoView();", 元素)<小时>
I want to scroll to an element in selenium, but I want it to be at the top of the page, not just visible on the page.
How can I make it so that the page scrolls such that the element being scrolled to is at the top of the browser?
target = browser.find_element_by_css_selector(".answers-wrap")
actions = ActionChains(browser)
actions.move_to_element(target)
actions.perform()
Here is example using this page we are on
To scroll the web page by 1000 pixel vertical use execute_script("window.scrollBy(0,1000)")
Example
import time
from selenium import webdriver
chrome_browser = webdriver.Chrome()
chrome_browser.get('https://stackoverflow.com/questions/61071131/'
'scroll-in-selenium-driver-to-make-element-at-top-of-the-page')
time.sleep(4)
''' execute_script("window.scrollBy(x-pixels,y-pixels)")
scroll down the page by 1000 pixel vertical
'''
chrome_browser.execute_script("window.scrollBy(0,1000)")
execute_script("window.scrollBy(x-pixels,y-pixels)")x-pixels is the number at x-axis, it moves to the left if number is positive and it move to the right if number is negative .y-pixels is the number at y-axis, it moves to the down if number is positive and it move to the up if number is in negative .
To scroll down the web page to the target element.
execute_script("arguments[0].scrollIntoView();", element)"arguments[0]" means first index of page starting at 0.
Code example
import time
from selenium import webdriver
chrome_browser = webdriver.Chrome()
chrome_browser.get('https://stackoverflow.com/questions/61071131/'
'scroll-in-selenium-driver-to-make-element-at-top-of-the-page')
time.sleep(4)
element = chrome_browser.find_element_by_css_selector(
"#footer > div > nav > div:nth-child(1) > h5 > a")
chrome_browser.execute_script("arguments[0].scrollIntoView();", element)
这篇关于如何使用 selenium 将网页滚动到目标元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 selenium 将网页滚动到目标元素
基础教程推荐
- 如何在特定日期之前获取消息? 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
