PythonSelenium通过xpath定位下拉框,并滚动到页面任意位置

PythonSelenium通过xpath定位下拉框,并滚动到页⾯任意位置
Python Selenium通过xpath定位下拉框,并滚动到页⾯任意位置
Python Selenium通过xpath定位⾮select下拉框的⼦选项,并滚动到页⾯任意位置(底部、中间位置、顶部)
第⼀部分:操作下拉框选中⼦选项,⾸先xpath的属性定位没有特殊类别限制,常见的id、name、class,或其他唯⼀标识属性也可⾏;⽽下拉框⼜分select类和⾮select类两种,对于⾮select类,我们可以通过⼆次定位来实现:
# ⾮select下拉框,先到上级相对路径,然后跟上⾃⾝路径,通过//* (⽗级元素) +  //*(当前元素)⽅式结合成新的xpath路径,具体如下:
driver.find_element_by_xpath('//div[@id="name"]//a[@href="/a/voucher"]')
如果是select类的下拉框,我们则需要⽤selenium⾃带的select⽅法来处理:
# 1) 导⼊Select类
from selenium.webdriver.support.select import Select
# 2) 定位到的下拉框元素,并传⼊Select类中
selobj = Select(element) 下拉框元素已经定位到
# 3.1) 通过索引选择,index 索引从 0 开始
select_by_index(0)                    # 定位下拉框第⼀个选项,要选中记得拼接 click()
# 3.2) 通过下拉框选项的属性值选择
select_by_value(‘name’)        # 通过元素的名称属性‘name’定位选项
# 3.3) 通过选项⽂字内容选择
select_by_visible_text(“选项⼀”)        通过选项⽂字内容‘选项⼀’来定位
第⼆部分:下拉页⾯或滚动页⾯到底部,通常有两种⽅式(通过模拟键盘DOWN键下滑的⽅式太笨,这⾥不推荐哈)
1.通过将页⾯定位到要查看元素的具体位置,从⽽变相实现滚动效果,不过要注意,此⽅式需要先引⼊ActionChains库
from selenium.webdriver import ActionChains
ActionChains(driver).move_to_element(‘id=name’).perform()
2.通过执⾏js脚本实现,将页⾯滚动条移动到页⾯任意位置,改变scrollTop的值即可
# 操作到顶部,scrollTop值为0即可
js = "var q=document.documentElement.scrollTop=0"动物胶配方整个过程
# 操作到中间位置,scrollTop值设置为中间值,如:50即可
文字拼接js = "var q=document.documentElement.scrollTop=50"
城市垃圾处理ute_script(js)
# 操作到底部,scrollTop值为10000,⼀般页⾯都是底部了,如果不⾏,可以再加⼤
js = "var q=document.documentElement.scrollTop=10000"
# 以上⽅法在Firefox和IE浏览器上上是可以的,但是⽤Chrome浏览器,也不管⽤。Chrome浏览器的解决办法是:
    js = "var q=document.body.scrollTop=0"
    ute_script(js)
# 如果要对页⾯中的内嵌窗⼝做滚动操作,先定位窗⼝的元素位置(⽐如下⽅id=name的情况),但这⾥能执⾏的前提是滚动条有id属性,如果没有id属性是⽆法操作的,再执⾏js脚本即可
压力维持阀
js = "var ElementById('name').scrollTop=1000"
电解水制氢机
time.sleep(3)

本文发布于:2024-09-22 08:22:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/344910.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定位   下拉框   选项   滚动   属性   元素
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议