selenium自动化之Js处理滚动条实例

本文详细介绍如何结合Selenium和JavaScript实现网页元素的滚动显示,通过具体实例展示如何使用execute_script方法滚动到指定元素,适用于自动化测试和网页爬虫场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以百度搜索腾讯课堂为实例介绍Js处理滚动条

使用方法

selenium中使用execute_script方法执行js语句来实现滚动功能

语句

execute_script(“arguments[0].scrollIntoView();”,target)
其中target为find_element_by_xxx找到的元素对象

操作步骤

通过selenium的查找元素的方法先找到元素
通过执行js语句,讲元素滚动到可见区域

# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from time import sleep

# 创建会话
driver = webdriver.Chrome()
# 打开网页
driver.get("https://www.baidu.com")
# 定位搜索框,写入内容
driver.find_element_by_id("kw").send_keys("腾讯课堂")
# 点击搜索按钮
driver.find_element_by_id("su").click()

# 等待元素存在
loc = (By.XPATH, '//a[text()="_百度百科"]')
# 使用显性等待
WebDriverWait(driver, 20).until(EC.visibility_of_element_located(loc))
# 找元素
ele = driver.find_element_by_xpath('//a[@title="版本迭代"]')
# 设置强制等待
sleep(3)
# 执行js语句滚动页面
driver.execute_script("arguments[0].scrollIntoView(false);", ele)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值