zoukankan      html  css  js  c++  java
  • selenium + webdriver(python)(一)

    一、第一个脚本:

    复制代码
    # coding = utf-8  #可加可不加,开发人员喜欢加一下,防止乱码。
    
    from selenium import webdriver   #要想使用seleniumwebdriver 里的函数,首先把包导进来
    
    
    browser = webdriver.Firefox() 
    #我们需要操控哪个浏览器呢?Firefox ,当然也可以换成Ie 或 Chrome browser可以随便取,但后面要用它操纵各种函数执行。 browser.get("http://www.baidu.com") browser.find_element_by_id("kw").send_keys("selenium") #一个控件有若干属性id name、(也可以用其它方式定位),百度输入框的id kw ,我要在输入框里输入 selenium 
    browser.find_element_by_id("su").click() #搜索的按钮的id su ,我需要点一下按钮( click() )。
    browser.quit()
    复制代码

     

    browser.quit()

    退出并关闭窗口的每一个相关的驱动程序,它还有个类似的表弟。

    browser.close()

    关闭当前窗口 ,用哪个看你的需求了。

     

    二、添加休眠

    如果觉得刚才太快没看清浏览器的操作过程。请time出马,让他跑慢点。

    复制代码
    # coding = utf-8
    
    from selenium import webdriver
    import  time  #调入time函数
    #from time import sleep #也可直接调入sleep函数,如果直接调用sleep函数,则下方调用sleep时,可直接sleep(0.3) browser = webdriver.Firefox() browser.get("http://www.baidu.com") time.sleep(0.3) #休眠0.3秒
    browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3) # 休眠3秒
    browser.quit()
    复制代码

     

    time.sleep() 函数随意插,哪里太快插哪里,再也不用担心看不清脚本的运行过程了。

     

    其实,这个函数的真正用途不是给我们看脚本的运行过程的,有时候网络原因,或页面加载慢。假设搜索框输入框输入了selenium ,搜索按钮还没加载出来,那么脚本就报错。在适当的位置加入time.sleep()有助于减少网络原因造成的脚本执行失败;

     

     

    三、输出

    在运行脚本的时候,不知道刚才的脚本是否运行成功了。可以把刚才访问页面的title 打印出来。

    使用

    复制代码
    # coding = utf-8
    
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    # print driver.title  # 把页面title 打印出来
    print(driver.title) #python3.x与python2.x语法有一些区别
    driver.quit()
    复制代码

     

    虽然我没看到脚本的执行过程,但我在执行结果里看到了

    >>> 
    百度一下,你就知道

    说明页面正确被我打开了。

    四、pycharm快捷键使用

    Alt+Enter    自动添加包
    Ctrl+t SVN  更新
    Ctrl+k SVN  提交
    Ctrl + /        注释(取消注释)选择的行
    Ctrl+Shift+F 高级查找
    Ctrl+Enter   补全
    Shift + Enter 开始新行
    TAB Shift+TAB 缩进/取消缩进所选择的行
    Ctrl + Alt + I 自动缩进行
    Ctrl + Y 删除当前插入符所在的行
    Ctrl + D 复制当前行、或者选择的块
    Ctrl + Shift + J 合并行
    Ctrl + Shift + V 从最近的缓存区里粘贴
    Ctrl + Delete 删除到字符结尾
    Ctrl + Backspace 删除到字符的开始
    Ctrl + NumPad+/- 展开或者收缩代码块
    Ctrl + Shift + NumPad+ 展开所有的代码块
    Ctrl + Shift + NumPad- 收缩所有的代码块

  • 相关阅读:
    【转】大数据求职者说
    【转】大数据东西辣么多,我该如何给自己一个清晰的定位呢?
    【转】大数据工程师需要学习哪些?
    【English】 Re-pick up English for learning big data (not updated regularly)
    【spark】spark应用(分布式估算圆周率+基于Spark MLlib的贷款风险预测)
    【idea】scala&sbt+idea+spark使用过程中问题汇总(不定期更新)
    【idea】scala&sbt+idea安装配置与测试
    spring boot热部署
    网段判断
    【转】python测试框架--doctest
  • 原文地址:https://www.cnblogs.com/diqitian/p/9761061.html
Copyright © 2011-2022 走看看