Selenium之webdriver的基础操作

webdriver的基础操作

from selenium import webdriver

driver = webdriver.Chrome()

driver.get(url='http://www.baidu.com')
driver.find_element()  # 定位标签
print(driver.title)
driver.close()  # 关闭当前窗口
print(driver.page_source)  # 获取页面的内置
# 设置浏览器的大小
driver.set_window_size(800, 600)
print(driver.get_window_size())  # 获取浏览器窗口的大小
driver.save_screenshot('a.png')  # 屏幕截图,保存图片的类型必须是png
driver.refresh()  # 刷新
driver.back()  # 后退
driver.forward()  # 前进
driver.get_cookie()  # 获取cookies
driver.current_url  # 获取当前window窗口的url
driver.current_window_handle  # 获取当前窗口对象
driver.execute_script("aler('你好啊')")  # 执行JS代码

常用的标签选择器

1.根据id定位
2.根据class定位
3.根据tag name定位
4.根据超链接定位
    1.绝对定位
    2.模糊定位
5.根据xpath定位,根据dom树来定位,每个标签在dom树中都有自己的节点
6.根据css selecter(样式)
7.定位input框,根据name属性定位
8.by选择器,封装了上面几种定位形式

标签选择器的定位

driver.find_element_by_id('kw').send_keys('id')
driver.find_element_by_class_name('s_ipt').send_keys('class')
driver.find_element(by=By.ID, value='kw').send_keys('By')
driver.find_element_by_css_selector('input[class=s_ipt]').send_keys('CSS')
driver.find_element_by_name('wd').send_keys('name')
driver.find_element_by_link_text()
driver.find_element_by_partial_link_text()
driver.find_element_by_tag_name('').click()

CSS 选择器
driver.find_element_by_css_selector('input[class ^=s_]')  # 匹配以s_开头的class值
driver.find_element_by_css_selector('input[class $=pt]')  # 匹配以pt结尾的class值
driver.find_element_by_css_selector('input[class *=_i ]')  # 匹配包含_i的class值
driver.find_element_by_css_selector('.s_ipt').send_keys('css可好')
driver.find_element_by_css_selector('input.s_ipt').send_keys('厉害了css')
driver.find_element_by_css_selector('#kw').send_keys('css id来了')
driver.find_element_by_css_selector('input#kw').send_keys('无敌css')

input_obj = driver.find_element_by_id("id_user")
# 为input框填写值
input_obj.send_keys('你好')
# 获取input框的值
input_obj.get_attribute('value')
# 获取input框的属性
input_obj.get_attribute('class')
input_obj.get_property('name')
# 获取标签的css样式
input_obj.value_of_css_property('color')
# 获取标签中的子标签
div_obj = driver.find_element_by_class_name('col-xs-3')
div_obj.find_element_by_tag_name('input').submit()
# 获取验证码图片的大小
driver.find_element_by_id('imageCode').size
幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。
原文地址:https://www.cnblogs.com/TodayWind/p/14903573.html