# 导入库
from selenium import webdriver
# 使用webderiver创建浏览器对象(这里有谷歌和火狐的)
# driver = webdriver.Firefox
driver = webdriver.Chrome()
# 用浏览器对象.get 方法,参数是URL
# 这个用于跳转浏览器
driver.get("http://bj.58.com")
# 屏幕最大化(满屏)
drive.maximize_window()
# 获取浏览器尺寸
drive.get_window_size()
# 设置浏览器尺寸(宽高)
drive.set_window_size(888,888)
# 获取浏览器位置
drive.get_window_position()
# 设置浏览器位置(从屏幕左上角开始计算 0,0)
drive.set_window_position(x,y)
# 关闭当前标签/窗口
drive.close()
# 关闭所有标签/窗口
drive.quit()
# 刷新页面操作
drive.refresh()
# 回退到之前的页面
drive.back()
# 前进到之后的页面
drive.forward()
# 获取当前访问页面url
drive.current_url
# 获取当前浏览器标题
drive.title
# 直接保存
drive.get_screenshot_as_file('a.png')
# 网页源码
page_source
8种元素定位
# 8种元素定位的方法
# 根据Xpath定位
drive.find_element_by_xpath(value)
# 根据CSS选择器定位
drive.find_element_by_css_selector(value)
# 根据id定位(id具有唯一性,但是不一定所有元素都有id)
drive.find_element_by_id(value)
# 根据name值定位
drive.find_element_by_name(value)
# 根据class类名定位
drive.find_element_by_class_name(value)
# 根据标签名定位(最不常用)
drive.find_element_by_tag_name(value)
# 根据文字定位(一般用于超链接)
drive.find_element_by_link_text(value)
# 也是文字,不过可以模糊查询
drive.find_element_by_partial_link_text(value)
输入框
# 输入框输入数据
# 对元素的相关操作,一般要先获取到元素,再调用相关方法
element = drive.find_element_by_xxx(value)
element.click()
# 清空输入框
element.clear()
# 输入数据
element.send_keys(data)
句柄
多标签之间的切换
场景:有的时候点击一个链接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况。
# 调用该方法会得到一个列表,在selenium运行过程中的每一个窗口都有一个对应的值存放在里面。
handles = drive.window_handlers()
# 通过窗口的句柄进入的窗口
drive.switch_to_window(handles[n])
通过窗口句柄激活进入某一窗口