from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select #下拉选项
path=u'浏览器路径'
driver=webdriver.Chrome(bytearray=path)#可加浏览器路径
driver.get(url)
ele=driver.find_elements_by_name('value')#通过属性name='value'定位标签****
ele=driver.find_elements_by_xpath('//..')#通过xpath表达式查找标签**************************************************多用
#//button[text()='你好']
#//标签[contains(text(),'文本值')]
#//*[@id='J_login_form']/dl/dt/input[@id='J_password]
#//input[@type='name' and @name='kw1
#//a[contains(@href, ‘logout’)]
# ("//input[@id='kw1']//input[start-with(@id,'nice']/div[1]/form[3])
#//td[contains(text(),’17051915200001’)]/following-sibling::td[8]/a[@class='link']#先定位一个,、再定位同胞节点
# ::选取当前节点的父节点
# descendant-or-self选取当前节点的所有后代元素(子、孙等)以及当前节点本身
# descendant选取当前节点的所有后代元素(子、孙等)
# child 选取当前节点的所有子元素
# following-sibling选取当前节点之后的所有同级节点
# preceding 选取文档中当前节点的开始标签之前的所有节点
# following 选取文档中当前节点的结束标签之后的所有节点
# preceding-sibling选取当前节点之前的所有同级节点
ele=driver.find_elements_by_class_name('mm')#通过类的名字class='mm'查找标签
ele=driver.find_elements_by_id('bb')#通过id='bb'查找标签*******
ele=driver.find_elements_by_link_text('你好')#通过有链接的标签的文本来查找标签
ele=driver.find_elements_by_partial_link_text('你')#通过有链接的标签的部分文本来查找标签
ele=driver.find_elements_by_tag_name('a')#通过标签名查找标签
ele=driver.find_elements_by_css_selector('a')#通过css选择器查找标签
ele=driver.find_element(By.XPATH,'//')#通过css选择器查找标签
ele=driver.find_element(By.ID/LINK_TEXT/TAG_NAME,'//')#通过css选择器查找标签
ele.click()
ele.send_keys(Keys.RETURN)
driver.find_element_by_id("gg").send_keys(Keys.CONTROL, 'a')#ctrl+a 全选
driver.find_element_by_id("ff").send_keys(Keys.CONTROL, 'x')#ctrl+x 剪切
driver.screenshot(path) #保存路径
#下拉选项
select=Select(driver.find_elements_by_xpath('//..'))
select.select_by_index(index)#通过索引下拉选择
select.select_by_visible_text('text') #通过文本下拉选择
select.select_by_value(value)#通过值下拉选择
select.deselect_all()#取消所有选项
select.options#获取所有选项
select.all_selected_options #获取已经选中的选项
#关闭网页弹窗
alert=driver.switch_to_alert()
alert.dismiss()
#操作页面的前进与后退
driver.forward()
driver.back()
#获取cookies
driver.get_cookies()
#添加cookies
cookie={'name':'zhangsan','age':'27'}
driver.add_cookie(cookie)
#等待:显示等待与
# 隐式等待driver.implicitly_wait(3)
显示等待
from selenium.webdriver.support.ui import WebDriverWait #等待时间
from selenium.webdriver.support import expected_conditions as EC #达到这个条件才触发
try:
nexr_page = WebDriverWait(driver, 10).until(EC.visibility_of(driver.find_element_by_css_selector('.item.next')))
nexr_page.click()
except Exception as e:
print(e)
break