Python爬虫工具 Selenium webdriver -自动化测试工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youzi_yun/article/details/78418101

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。

from selenuum import webdriver

<!--创建url-->
url = "http://www.baidu.com"

<!--创建浏览器驱动,这里以Chrome为例-->
driver = webdriver.Chrome()

<!--发起请求-->
driver.get(url)

<!--保存快照-->
driver.save_screenshot('baidu.png')

<!--8种标签定位方法,获取输入框-->

-----获取单个标签,结果为标签对象------
find_element_by_XXXX 

<!--1 通过id获取标签-->
el = driver.find_element_by_id('kw')
<!--2 通过css选择器获取标签-->
<!--同时满足多种选择器---input[name="username"][type="text"]-->
el = driver.find_element_by_css_selector('#kw')  # 括号里可以为class,id属性 .kw #kw
<!--3 通过class属性获取标签-->
el = driver.find_element_by_class_name('s_ipt')
<!--4 通过name属性获取标签-->
el = driver.find_element_by_name('wd')
<!--5 通过xpath获取标签-->
el = driver.find_element_by_xpath('//*[@id="u1"]/a[2]')
<!--6 匹配标签名-->
el = driver.find_element_by_tag_name('input')
<!--7 主要针对a标签,匹配a标签里的文字-->
el = driver.find_element_by_link_text('abccd')
<!--8 升级版:主要针对a标签,模糊匹配a标签里的文字-->
el = driver.find_element_by_partial_link_text("cc")

-----获取多个标签,结果为标签对象列表------
find_elements_by_XXXX 

<!--查看标签属性-->
el.get_attribute("type")

<!--获取标签内文本-->
el.text

<!--查看所有标签列表-->
window_list = driver.window_handles

<!--切换列表-->
driver.switch_to.window(window_list[1])

<!--模拟输入框输入-->
el.send_keys("哈哈哈")

<!--模拟点击-->
el.click()

<!--获取响应后的数据-->
<!--源码--二进制-->
driver.page_source
<!--cookies-->
driver.get_cookies()
<!--标题和当前url-->
driver.title
driver.current_url

<!--响应获取数据后要关闭,释放内存-->
driver.close()
driver.quit()

如果一个页面中有框架,需要先进入,再在框架内进行定位获取标签

el_iframe = driver.find_element_by_xpath('//*[@id="login_frame"]')
<!--进入框架-->
driver.switch_to.frame(el_iframe)

猜你喜欢

转载自blog.csdn.net/youzi_yun/article/details/78418101