zoukankan      html  css  js  c++  java
  • selenium的基础知识点

    from selenium import webdriver
    from scrapy.selector import Selector
    
    #模拟登陆
    browser = webdriver.Chrome(executable_path='Chromedriver.exe')
    #路径是Chromedriver.exe的存放位置,windows下只要配置好这个环境就不需要了
    
    browser.get('http://w') #需要登陆的那个网址
    
    browser.find_element_by_xpath('//div[@view]/imput').send_keys('..........')
    #需要输入的表单如帐号
    browser.find_element_by_xpath('//div[@view]/imput').send_keys('..........')
    #需要输入的表单如密码
    browser.find_element_by_id('captcha').send_keys(input("有验证码输入验证码"))
    
    browser.find_element_by_xpath('//div[登陆的那个按钮]').click()#点击登陆
    browser.quit()#退出浏览器

    基本的点击与发送

    #可以用selenium得到js加载后的html,比如抓取js加载的内容
    
    browser = webdriver.Chrome(executable_path='')
    browser.get('http://...')
    print(browser.page_source)#js加载完成的源码
    
    '''
    如果需要选择器快一点就使用scrapy中的Selector
    '''
    Seit = Selector(text=browser.page_source)
    print(Seit.xpath('//*[@...]/text').extract())
    #注意js加载本身就慢,在scrapy的异步当中,爬取的内容很快,导致有些js没有加载完成
    #这样的话,只需要睡几秒就行

    动态加载的数据获取

    import time
    
    from selenium import webdriver
    from scrapy.selector import Selector
    
    browser = webdriver.Chrome(executable_path='..')
    browser.get('http://.....')
    
    Seit = Selector(text=browser.page_source)
    Seit.xpath('//div[@class=""]/text()').extract().send_keys("00000000")
    Seit.xpath('//div[@class=""]/text()').extract().send_keys('************')
    Seit.xpath('//div[@class=""]/text()').extract().click()
    
    #下拉
    for i in range(3):
        '''三次下拉操作  execute_script是用来执行js代码'''
        browser.execute_script("window.scrollTo(0,document.body.scrollHeight) var lenOfPage=docment.body.scrollHeight;return lenOfPage")
        time.sleep(3)
    # phantomjs无头浏览器:http://phantomjs.org/download.html
    import time

    from selenium import webdriver
    from scrapy.selector import Selector

    browser = webdriver.Chrome(executable_path='..')
    browser.get('http://.....')

    Seit = Selector(text=browser.page_source)
    Seit.xpath('//div[@class=""]/text()').extract().send_keys("00000000")
    Seit.xpath('//div[@class=""]/text()').extract().send_keys('************')
    Seit.xpath('//div[@class=""]/text()').extract().click()

    #下拉
    for i in range(3):
    '''三次下拉操作 execute_script是用来执行js代码'''
    browser.execute_script("window.scrollTo(0,document.body.scrollHeight) var lenOfPage=docment.body.scrollHeight;return lenOfPage")
    time.sleep(3)
    # phantomjs无头浏览器:http://phantomjs.org/download.html
    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    jmeter的开启
    RobotFramework Selenium2 关键字
    RobotFramework测试环境搭建记录
    Posture Energy——姿态的能量
    在Centos中安装HustOJ实验记录
    江苏省综合素质评价平台视频操作演示和各角色说明书下载
    设计模式实战研磨 ——第1篇 UML环境搭建
    精益创新之设计思维研磨——《设计改变一切》书评
    Centos7中给gitLab汉化
    Centos7下安装gitLab
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/9741173.html
Copyright © 2011-2022 走看看