Selenium+Chrome使用说明

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇洒郎

您打赏我发自肺腑努力创作的心灵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值