selenium 元素定位 及api

from selenium import webdriver

driver=webdriver.Chrome() #以Chrome浏览器为服务
driver.maximize_window() #窗口最大化
driver.get('https://www.baidu.com/') #通过get方式打开一个网页
driver.execute_script('window.scrollTo(0,0)') #执行js

8种单数定位

# 8种单数方式定位
id=driver.find_element_by_id('id') #通过元素id定位
cls=driver.find_element_by_class_name('classname') #通过classname定位元素
name=driver.find_element_by_name('name') #通过name名定位
xpath=driver.find_elements_by_xpath('//div[type="path"]')  #通过xpath方式定位
css=driver.find_element_by_css_selector('[type="text"]') #通过css_selector 定位
link=driver.find_element_by_link_text('跳转大刘刘博客') #通过标签中的文字定位
tag_name=driver.find_element_by_tag_name('div') #通过标签名定位
element=driver.find_element_by_partial_link_text('跳转') #标签中的文案包含跳转的标签

 

8种复数定位

ids=driver.find_elements_by_id('id') #通过元素id定位
clss=driver.find_elements_by_class_name('classname') #通过classname定位元素
names=driver.find_elements_by_name('name') #通过name名定位
xpaths=driver.find_elements_by_xpath('//div[type="path"]')  #通过xpath方式定位
csss=driver.find_elements_by_css_selector('[type="text"]') #通过css_selector 定位
links=driver.find_elements_by_link_text('跳转大刘刘博客') #通过标签中的文字定位
tag_names=driver.find_elements_by_tag_name('div') #通过标签名定位
elements=driver.find_elements_by_partial_link_text('跳转') #标签中的文案包含跳转的标签

 

2种底层定位

ele=driver.find_element('id','daliuliu') #i通过id定位,daliuliu的元素
eles=driver.find_elements('xpath','//div') #通过xpath定位

 

常用api

element.send_keys() #往定位到的元素中写内容
element.click() #点击元素
element.clear() #清空内容
element.get_attribute('id')#根据属性名获取元素属性
element.is_displayed() #返回True 或False 元素是否可见
element.text #获取元素的text driver.get_window_size() #获取浏览器大小 driver.set_window_size(100,100) #设置浏览器大小 driver.get_cookie('daliuliu') #获取指定cookie driver.get_cookies() #获取所有cookie driver.delete_cookie('daliuliu') # 删除指定cookie driver.delete_all_cookies() #删除所有cookie driver.get_screenshot_as_file('error.png') #截图 driver.quit() # 退出所有窗口 driver.close() #退出当前窗口 print(driver.page_source) #返回页面源码 print(driver.title) print(driver.current_url) #返回当前URL print(driver.name) #返回当前浏览器 print(driver.current_window_handle)#获取当前窗口
print(driver.window_handles)#获取所有打开的窗口 是个列表

 

 

 

posted @ 2019-08-22 10:48  刘淑贤  阅读(197)  评论(0编辑  收藏  举报