seleniun 小练习之登陆慕课网

【简介】

本次使用最简单的代码实现selenium+python登陆慕课网,内容主要涉及:

1、创建函数,减少代码重复,比如定位元素函数、鼠标点击功能

2、xpath定位的简单使用

以下输入内容也可通过读取excel表格获取值

 

【代码】

#conding=utf-8
from selenium import webdriver
import time
from selenium.webdriver import ActionChains


driver=webdriver.Chrome()
driver.get("https://class.imooc.com/?mc_marking=4e0b0537f151197140fed11920097988&mc_channel=bdqdrmjt")
def find_element(find_status,element):
    if find_status=="id":
        return driver.find_element_by_id(element)
    elif find_status=="class":
        return driver.find_element_by_class_name(element)
    elif find_status=="xpath":
        return driver.find_element_by_xpath(element)
    elif find_status=="css":
        return find_element_by_css_selector(element)
    else:
        print ("error")
def Action_Handle(handle_click,element):

    if  handle_click=="click":
        return  ActionChains(driver).click(element).perform()
    elif handle_click=="click_and_hold":
        return ActionChains(driver).click_and_hold(element).perform()
    elif handle_click=="context_click":
        return ActionChains(driver).context_click(element).perform()
    elif handle_click=="double_click":
        return ActionChains(driver).double_click(element).perform()
    elif handle_click=="move":
        return ActionChains(driver).move_to_element(element).perform()
    else:
        print ("no handle_click")
def login():
    driver.maximize_window()
    time.sleep(3)
    find_element("id","js-signin-btn").click()
    find_element("xpath",'//input[@class="xa-emailOrPhone ipt ipt-email js-own-name"]').send_keys("XXXXX账号")
    find_element("xpath",'//input[@class="ipt ipt-pwd js-loginPassword js-pass-pwd"]').send_keys("XXXXXX密码 ")
    find_element("xpath",'//input[@class="moco-btn moco-btn-red moco-btn-lg btn-full xa-login"]').click()
    time.sleep(5)
    header_element=find_element("id","header-user-card")
    print (header_element)
    Action_Handle("move",header_element)
    time.sleep(2)
    text=find_element("xpath",'//span[@class="name text-ellipsis"]').text
    if text=="XXXXX用户名":
        print ("login is OK")

time.sleep(5)
driver.close()

【结果展示】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值