Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。
from selenuum import webdriver
url = "http://www.baidu.com"
driver = webdriver.Chrome()
driver.get(url)
driver.save_screenshot('baidu.png')
-----获取单个标签,结果为标签对象------
find_element_by_XXXX
el = driver.find_element_by_id('kw')
el = driver.find_element_by_css_selector('#kw') # 括号里可以为class,id属性 .kw #kw
el = driver.find_element_by_class_name('s_ipt')
el = driver.find_element_by_name('wd')
el = driver.find_element_by_xpath('//*[@id="u1"]/a[2]')
el = driver.find_element_by_tag_name('input')
el = driver.find_element_by_link_text('abccd')
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
driver.get_cookies()
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)