Selenium基础知识与页面的交互

本文详细介绍了Selenium的基本操作,包括WebDriver浏览器属性的使用,如current_url、page_source和title的获取;WebElement的交互,如clear、get_attribute、is_displayed等;下拉框的Select类操作;弹出框的Alert处理;WebDriverWait类的等待策略;ActionChains的鼠标和键盘事件。通过这些,可以帮助读者掌握Selenium进行网页自动化测试的关键技能。
摘要由CSDN通过智能技术生成

1.WebDriver浏览器的属性

# 1.获取测试的地址 current_url

from selenium import webdriver

import time as t

from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(30)

driver.get("http://www.baidu.com")

'''t.sleep(2)

driver.get("https://news.baidu.com/")

t.sleep(2)

print("测试地址urrent_url为:{0}".format(driver.current_url))'''

# 2.获取当前页面代码 page_source

'''print("获取当前页面代码page_source:{0}".format(driver.page_source))'''

# 3.获取当前的title

'''print("获取当前的title:{0}".fromat(driver.title))'''

'''# 4.页面的前进 forward 和后退 back

# 后退 back

driver.back()

t.sleep(2)

print("后退的测试地址urrent_url为:{0}".format(driver.current_url))

# 前进 forward

driver.forward()

print("前进的测试地址urrent_url为:{0}".format(driver.current_url))'''

# 5.关闭程序,建议使用 driver.quit()

'''driver.quit() # 推出驱动程序并关闭执行的浏览器

driver.close() # 关闭执行的浏览器'''

# 6.加载测试地址方法: .get()

'''driver.get("http://www.baidu.com")'''

# 7.多窗口实战

'''driver.current_window_handle获取当前浏览器的窗口句柄,window_handle用来获取浏览器的所有窗口句柄'''

# WebDriver浏览器的属性
# 7.多窗口实战
from selenium import webdriver
import time as t
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get("https://mail.sina.com.cn/")
driver.find_element(By.ID, 'freename').send_keys("wuya")
# 获取当前窗口句柄
now_handle = driver.current_window_handle
t.sleep(2)
# 点击注册链接
driver.find_element(By.LINK_TEXT, "注册").click()
t.sleep(3)
# 获取所有窗口句柄
handles = driver.window_handles
print("注册页driver.current_url:", driver.current_url)
# 对所有窗口句柄循环处理
for handle in handles:
    # 判断dhs不是当前窗口句柄
    if handle != now_handle:
        driver.switch_to.window(handle)
        driver.find_element(By.NAME, "email").send_keys("wuya")
        t.sleep(2)
        # 关闭注册页面
        driver.close()
# 切换到登录页面
driver.switch_to.window(now_handle)
t.sleep(3)
# 在账号输入框中输入邮箱
driver.find_element(By.ID, 'freename').send_keys("wuya")
t.sleep(4)
driver.quit()

# 8.浏览器最大化 driver.maximize_window()

# 9.刷新 refresh

driver.refresh()

# 10.获取执行的浏览器名称用到的方法是 name

print("获取执行的浏览器名称用到的方法是 name:{0}".format(driver.name))

2.WebElement 类的分类

'''get_attribute 方法:获取输入框中的value值

is_enabled 方法:判断文本是否可编辑'''

# 1.清空 clear() 清空输入的关键字

# 2.获取元素属性值 get_attribute("value")

valueid = driver.find_element(By.ID, 'kw')

valueid.send_keys("selenium")

print("get_attribute:", valueid.get_attribute('value'))

# 3.检查元素是否可见 is_displayed() 返回布尔类型

print("百度元素是否可见:{0}".format(valueid.is_displayed()))

# 4.检查元素是否可编辑 is_enabled() 返回布尔类型

print("百度元素是否可见:{0}".format(valueid.is_enabled()))

# 5.是否以选中 is_selected() 返回布尔类型

if valueid:

print("已选中百度输入框:{0}".format(valueid.is_selected()))

# 6.提交表单 submit()

driver.find_element(By.ID, "su").submit()

t.sleep(3)

driver.quit()

3.下拉框实战

参考文献:https://blog.csdn.net/chengdiyiyo/article/details/121100827

# 1.Select类的详解:定位思路

  • webdriver定义一个Select类,专门用来解决下拉框定位问题

  • 导包:from selenium.webdriver.support.select impoet Select

  • 定位下拉框element

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值