• selenium模拟浏览器进行百度搜索


    '''
    selenium操作主要分两大类:
    -得到UI元素
      -find_element_by_id
      -find_elements_by_name
      -find_elements_by_xpath
      -find_elements_by_link_text
      -find_elements_by_tag_name
      -find_elements_by_class_name
    -基于UI元素操作的模拟
      -单击
      -右键
      -拖拽
      -输入
      -可以通过导入actionChains类来做到
    '''
    from selenium import webdriver
    import time
    from selenium.webdriver.common.keys import Keys
    
    url='http://www.baidu.com'
    
    #可能需要指定Chrome路径
    driver=webdriver.Chrome()
    
    driver.get(url)
    
    text=driver.find_element_by_id('wrapper').text
    # print(text)
    # print(driver.title)
    
    #得到页面的快照,留做证明
    # driver.save_screenshot('index.png')
    
    #id=kw是百度输入框的地址,得到输入框的ui元素后输入字
    word=input("请输入要查找的词语:")
    # driver.find_element_by_id('kw').send_keys(u'word')
    driver.find_element_by_id('kw').send_keys(word)
    
    #id是su的是搜索的按钮,用click方法点击
    driver.find_element_by_id('su').click()
    
    time.sleep(5)
    #得到页面的快照,留做证明
    # driver.save_screenshot('word1.png')
    #返回一组字典,对应于当前会话中可见的cookie
    print(driver.get_cookies())
    
    #c模拟输入两个键crlt+a
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')
    #模拟输入crlt+x
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')
    
    driver.find_element_by_id('kw').send_keys(u'航空母舰')
    driver.save_screenshot('word2.png')
    
    #清空输入框,clear
    driver.find_element_by_id('kw').clear()
    driver.save_screenshot('word3.png')
    #关闭浏览器
    driver.quit()
    

      

    selenium+phantomJS:
    selenium:web自动化测试工具:自动加载页面,获取数据,截屏

    phantomJS:
    -基于Webkit的无界面的浏览器
    但是selenium已经放弃phantomjs了,所以只能降级selenium或者使用Chrome等其他浏览器

  • 相关阅读:
    字符串数组
    常用函数
    判断是否是素数回文数
    杨辉三角
    惨痛的教训 没有 脑子的我
    剪缎带
    ?????函数不起作用
    C#3
    celery 原理和组件
    vue检查用户名是否重复
  • 原文地址:https://www.cnblogs.com/fodalaoyao/p/10424118.html
Copyright © 2020-2023  润新知