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.youkuaiyun.com/chengdiyiyo/article/details/121100827
# 1.Select类的详解:定位思路
webdriver定义一个Select类,专门用来解决下拉框定位问题
导包:from selenium.webdriver.support.select impoet Select
定位下拉框element