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")

  • 相关阅读:
    [转]Magento刷新索引的几种方法
    [转]centos7 移动mysql5.7.19 数据存储位置
    [转]解决Magento批量导入带图片的商品的问题
    [转]【mysql监控】查看mysql库大小,表大小,索引大小
    [转]Centos系统中查看文件和文件夹大小
    [转]Magento 2.2 Developer Documentation
    [转]Magento2开发教程
    [转]Magento Configurable Product
    [转]论magento1和magento2的速度性能优化问题
    [转]本地 Windows 计算机密码登录 登录 腾讯云 Linux 实例
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/6279440.html
Copyright © 2011-2022 走看看