zoukankan      html  css  js  c++  java
  • selenium&PhantomJS笔记

    配置pip文件

    Windows下pip 配置文件的位置
    %HOME%/pip/pip.ini

    linux下安装pip,以Debian Linux为例
    su -
    apt-get install python-pip

    linux下pip的配置文件是$HOME/.pip/pip.conf

    验证安装源是否修改成功
    su -
    python -m pip install -upgrade pip

     pip文件内容

    [global]
    index-url = https://pypi.mirrors.ustc.edu.cn/simple
    #index-url = https://pypi.hustunique.com/simple
    #index-url = https://pypi.douban.com/simple

    selenium模拟浏览器操作

    Windows安装
    pip install selenium

    Linux安装
    apt-get install selenium

    查看selenium支持的浏览器
    from selenium import webdriver
    help(webdriver)


    无头浏览器phantomJs
    直接将其exe文件复制到python的安装目录中。

    将webdriver帮助文档输出到文件

    from selenium import webdriver
    import sys
    browser = webdriver.PhantomJS()
    out = sys.stdout
    sys.stdout = open('browserHelp.txt','w')
    help(browser)
    sys.stdout.close()
    sys.stdout = out
    browser.quit()
    exit()


    示例:百度搜索
    # 打开网站主页面
    from selenium import webdriver
    browser = webdriver.PhantomJS()
    browser.get("https://www.baidu.com")
    # 智能等待,最长等待10秒
    browser.implicitly_wait(10)


    # 获取搜索结果,定位有效数据的位置或表单框架
    find_element(self,by='id',value=None) # 取第一个符合条件的值
    find_elements(self,by='id',value=None) # 取所有符合条件的值
    这两个函数可以替代下面所有函数,如find_element(by='id',value='abc') == find_element_by_id("abc")

    find_element_by_class_name(self,name)
    find_element_by_css_selector(self,css_selector)
    find_element_by_id(self,id)
    find_element_by_link_text(self,link_text)
    find_element_by_name(self,name)
    find_element_by_partial_link_text(self,link_text)
    find_element_by_tag_name(self,name)
    find_element_by_xpath(self,xpath)


    # 查找文本框
    textElement = browser.find_element_by_class_name("s_ipt")
    textElement = browser.find_element_by_id("kw")

    textElement.clear()
    textElement.send_keys("python selenium")

    # 查找提交按扭
    submitElement = browser.find_element_by_class_name("btn self-btn bg s_btn")
    submitElement = browser.find_element_by_id("su")
    submitElement.click()
    print browser.title


    # 定位有效数据
    resultElements = browser.find_elements_by_class_name("c-tools")
    len(resultElements)

    # 一般来说定位结果用by_xpath或by_css比较方便
    # 从位置中获取有效数据
    element.text
    element.get_attribute(name)

    value = resultElements[0].get_attribute("data-tools")
    valueDic = eval(value)

    print valueDic.get("title").decode("utf8")
    print valueDic.get("url")

  • 相关阅读:
    磁盘挂载自动分区脚本
    docker的私有仓库的搭建
    centos6上安装docker
    docker的本地仓库换成阿里云的镜像仓库
    python中的coding的格式书写形式
    mysql5.6的二进制包安装
    mysql忘记root密码
    Verilog利用$fdisplay命令往文件中写入数据
    Quartus和ISE调用Synplify进行综合的问题
    TMS320C6455 SRIO 实现方案
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/6279440.html
Copyright © 2011-2022 走看看