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
幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。