Selenium基本操作

Selenium 基本操作

配置环境

  1. python
  2. ChromeDriver 下载地址
  3. selenium库

准备工作

  1. 安装python(略)
  2. 安装selenium库
    pip install selenium
  3. 安装Chrome
  4. 下载 ChromeDriver 对应版本, 并将ChromeDriver 放到py文件目录

定位元素

  • 返回一个匹配元素
find_element_by_id()	# 通过元素的ID属性定位元素
find_element_by_name()	# 通过元素的name属性定位到该元素
find_element_by_class_name() # 通过元素的class属性定位到该元素
find_element_by_tag_name()  # <div>,<span>等标签定位到该元素
find_element_by_link_text() # 通过<a>等链接元素的文本定位到该元素
find_element_by_partial_link_text()
find_element_by_xpath() # 通过XPath定位到该元素,建议掌握
find_element_by_css_selector() # 通过css选择器定位元素

以上操作,见名知意,都是返回第一个匹配的WebElement元素

  • 返回一个匹配元素列表
find_elements_by_name()	# 返回所有具有相同name属性的元素列表
find_elements_by_class_name() # 返回所有具有相同class_name属性的元素列表
find_elements_by_tag_name()  # <div>,<span>返回所有具有相同标签的元素列表
find_elements_by_link_text() # 通过<a>返回所有具有相同文本描述的元素列表
find_elements_by_partial_link_text()
find_elements_by_xpath() # 返回所有具有相同Xpath属性的元素
find_elements_by_css_selector() # 返回所有具有相同css_selector的元素

定位元素操作,一旦执行失败(即查找不到), 就会抛出异常因此必须使用
try: .. except: ...
机制避免错误的行为影响程序继续进行

WebDriver 的一些常用操作:

实例化一个 WebDriver对象
driver = webdriver.Chrome()
千万不要忘记()

driver.curren_url : 获取当前加载页面的 URL
driver.close() : 关闭当前窗口, 如果当前窗口是最后一个窗口, 浏览器将关闭
driver.quit() : 关闭所有窗口并停止 ChromeDriver 的执行
driver.add_cookie(cookie_dict) : 为当前会话添加 cookie 
driver.get_cookie(name) : 得到执行 cookie 
driver.get_cookies() : 得到所有的 cookie
driver.delete_all_cookies() : 删除当前会话的所有cookie 
driver.delete_cookie(name) : 删除指定 cookie
driver.back() : 相当于浏览器的后退历史记录
driver.forward() : 相当于浏览器的前进历史记录
driver.execute_script(script, *args) : 同步执行 js 脚本 
driver.execute_async_script(script, *args) : 异步执行 js 脚本
driver.get(url) : 在当前窗口加载 url
driver.refresh() : 刷新当前页面
driver.current_window_handle : 当前窗口的 handle, 相当于一个指针一样的东西, 用来指向当前窗口
driver.window_handles : 当前浏览器中的已经打开的所有窗口, 是一个 list
driver.switch_to_window(window_handle) : 切换 window_handle 指向的窗口
driver.title : 当前页面的 title
driver.name : 当前浏览器的名字

WebElement 的一些常用操作

通过元素定位获取一个WebElement元素
webEle = find_element_by_id('password')

    webEle.clear() : 清楚元素的内容, 假如这个元素是一个文本元素
    webEle.click() : 点击当前元素
    webEle,is_displayed() : 当前元素是否可见
    webEle.is_enabled() : 当前元素是否禁止, 比如经常会禁用一些元素的点击
    webEle.is_selected() : 当前元素是否选中, 文本输入框的内容
    webEle.send_keys(*value) : 向当前元素模拟键盘事件
    webEle.submit() : 提交表单
    webEle.tag_name : 当前元素的标签名
    webEle.text : 当前元素的内容, 注意是没有(括号)的
    webEle.get_attribute(name) : 获取当前元素执行属性的值
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值