首页 技术 正文
技术 2022年11月23日
0 收藏 445 点赞 2,807 浏览 1345 个字

在做selenium webdriver  在做UI自动化时,有些页面时使用懒加载的形式显示页面图片,如果在不向下移动滚动条时,获取到的图片会是网站的默认图片和真实的图片不相符。

1.滑动滚动条

1.1如果滚动条是针对整个HTML可以用如下方式:

js = "var q=document.documentElement.scrollTop=10000"  # documentElement表示获取根节点元素
self.driver.execute_script(js)

1.2如果滚动条是针对整个body可以用如下方式:

js = "var q=document.body.scrollTop=10000"  # documentElement表示获取body节点元素
self.driver.execute_script(js)

1.3如果滚动条是针对某个div可以用如下方式:该页面的滚动条就是针对class=’main’的div而言的

js = "var q=document.getElementsByClassName('main')[0].scrollTop = 10000"  # getElementsByClassName表示获取class='main'的元素列表,0表示第一个,所以使用的时候要加索引
self.driver.execute_script(js)

当元素在中间时不太方便

2.按下键方式(没有测试过,建议使用3)

driver.find_element_by_xpath("//*[@id='wrapper_wrapper']").send_keys(Keys.DOWN)

3.定位到元素处

ActionChains(driver).move_to_element(listbox).perform()

建议使用3方便快捷 ,一般与页面显示等待结合使用,下面为代码例子

from selenium import webdriver
from selenium import common
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()driver.get(url)
# 页面分段加载,鼠标悬浮在某元素上
listbox = driver.find_element(By.XPATH, "//div[@role='listbox']")
ActionChains(driver).move_to_element(listbox).perform()
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@role='listbox']//figure//img"))
)
html = driver.page_source
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,964
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,486
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,331
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,114
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,747
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,781