基于python 3 的selenium

发布时间:2019-08-26 07:19:48编辑:auto阅读(1753)

    本文主要是运用selenium模块模拟登陆新浪微博

    python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/7957326


    # -*- coding: utf-8 -*-
    import os
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    iedriver = "C:\Program Files\Internet Explorer\IEDriverServer.exe"
    os.environ["webdriver.ie.driver"] = iedriver  #调用IE浏览器
    
    browser = webdriver.Ie(iedriver)
    browser.get('http://weibo.com/')  #需要打开的网址
    
    user = browser.find_element_by_id("loginname") #审查元素username的id
    user.send_keys("11111")  #输入账号
    password = browser.find_element_by_name("password") #审查元素password的name
    password.send_keys("1234")  #输入密码
    password.send_keys(Keys.RETURN) #实现自动点击登陆
    print('登陆成功')

    注:可以在cmd下通过命令安装selenium模块:pip install selenium 或者 easy_install selenium。

    分析网页控件id:
    登陆窗口
    审查元素代码区域

    可以看出username可以通过id定位,而password则没有id,通过name定位。


    *附:
    selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种:

    *通过id定位元素:find_element_by_id(“id_vaule”)
    通过name定位元素:find_element_by_name(“name_vaule”)
    通过tag_name定位元素:find_element_by_tag_name(“tag_name_vaule”)
    通过class_name定位元素:find_element_by_class_name(“class_name”)
    通过css定位元素:find_element_by_css_selector();用css定位是比较灵活的
    通过xpath定位元素:find_element_by_xpath(“xpath”)
    通过link定位:find_element_by_link_text(“text_vaule”)或find_element_by_partial_link_text()*

关键字