Web自动化——下拉选择框、弹窗、滚动条(五)

本文是老欧分享的Web自动化系列第五篇,主要讲解如何使用Selenium操作下拉选择框,处理弹出框以及控制页面滚动条。详细介绍了select_by_index、select_by_value和select_by_visible_text等方法,以及alert、confirm和prompt的处理,并给出了滚动条滚动至底部的JavaScript实现。

简单玩自动化——下拉选择框、弹窗、滚动条(五)

_我是老欧,不扯概念只搞干货.

1. 下拉选择框操作

  • 说明:对页面中的元素进行操作
  • 使用:实例化select对象,select = Select(element),通过下面任意一种方式进行定位:
    1. select_by_index(index) — 根据option索引来定位,从0开始
    2. select_by_value(value) — 根据option属性 value值来定位
    3. select_by_visible_text(text) — 根据option显示文本来定位

示例代码:

from selenium import webdriver
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome()
driver.get("自己找测试网址")

select = Select(driver.find_element_by_name("xxx_name"))
select.select_by_index(1)

2. 弹出框操作

  • 说明:常用的弹出框有三种

    1. alert:警告框
    2. confirm:确认框
    3. prompt:提示框
  • 使用:

    1. 获取弹出框对象:
      alert = driver.switch_to.alert
    2. 调用:
      alert.text — 返回alert/confirm/prompt中的文字信息
      alert.accept() — 接受对话框选项
      alert.dismiss() — 取消对话框选项

示例代码:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("自己找测试网址")

# 定位alerta按钮
driver.find_element_by_css_selector("input[value='警告框']").click()
# 获取警告框
alert = driver.switch_to.alert
# 获取并打印警告框文本
print(alert.text)
# 接受警告框
alert.accept()
# 取消警告框
# alert.dismiss()

3. 滚动条操作

  • 说明: 在HTML页面中,由于前端技术框架的原因,页面元素为动态显示,元素根据滚动条的下拉而被加载,部分元素需要滚动条到最底层,才能进行获取及操作。
  • 使用:
    1. 设置JavaScript脚本控制滚动条
      js = “window.scrollTo(0,1000)”
      (0:左边距;1000:上边距;单位像素)
    2. selenium调用执行JavaScript脚本的方法
      driver.execute_script(js)

示例代码:

import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("自己找测试网址")
time.sleep(2)
# 向下滑动
js01 = "window.scrollTo(0,10000)"
driver.execute_script(js01)
time.sleep(2)
# 回到顶部
js02 = "window.scrollTo(0,0)"
driver.execute_script(js02)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值