【简介】
本次使用最简单的代码实现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()
【结果展示】