初学selenium+python demo

demo

# coding utf-8
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
import random
from PIL import Image  # 图片处理

startTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("Start : %s" % (startTime))


def strToList(strx):
    '''
    字符串转数组
    '''
    if type(strx).__name__ == 'str':
     #       print(""type(strx))
        data = map(str, strx)
        return data
    elif type(strx).__name__ == 'int':
     #       print(type(strx))
        data = map(int, [strx])
        return data


driver = webdriver.Chrome()
#url = "https://i.360.cn/login/"
url = "http://www.huaxialijian.com/html/"
driver.get(url)

print("首页延迟1秒")
time.sleep(1)

print("通过xpath点击登陆按钮")
driver.find_element_by_xpath("/html/body/ul/li[6]/a").click()

time.sleep(1)
print("通过EC模块验证登陆界面CLASS否载入")
#传入元素是否可见visibility_of_element_located#
# 找一个值,找到返回,找不到报错
locator = (By.CLASS_NAME, "container")
ch = WebDriverWait(driver, 1).until(EC.visibility_of_element_located(locator))
print("发现class:%s" % (ch))

# 输入用户名
str1 = "admin"
#str1 = 123456789
username = strToList(str1)
by_id_uname = driver.find_element_by_id("name")
for each in username:
    time.sleep(0.2)
    by_id_uname.send_keys(each)

# 输出用户名信息
uname = by_id_uname.get_attribute("value")
print("用户名类型:%s" % (type(str1)))
print("输入用户名:%s" % (uname))
print("用户名长度:%s" % len(uname))

# 输入密码
str2 = "admin"
#password = list(map(str, str2))
password = strToList(str2)
by_id_pwd = driver.find_element_by_id("pwd")
for each1 in password:
    time.sleep(0.2)
    by_id_pwd.send_keys(each1)

pswd = by_id_pwd.get_attribute("value")

# 输出密码信息
print("密码类型:%s" % (type(str2)))
print("输入密码:%s" % (pswd))
print("密码长度:%s" % len(pswd))

# 点击登陆
time.sleep(2)
by_class_name_btn = driver.find_element_by_class_name("button").click()

# 关闭实例
time.sleep(5)
endTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("End : %s" % (endTime))
driver.close()

前面导入的库,可以删减很多,懒得弄了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值