提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
之前写Python的办公自动化简单使用了将用户发的Excel的PO自动写入了我们IT的系统,但是后面还需要手动在操作,虽然不用在手动录入PO,但是还是要手动点击提交审批系统才能到下个节点,这次通过Selenium将自动打开浏览器模拟登陆系统并自动点击提交系统,全程不需要我手动去做任何事,全程自动化执行
提示:以下是本篇文章正文内容,下面案例可供参考
一、Selenium是什么?
Selenium 是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的。Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。它支持所有主流的浏览器(包括 IE、Firefox、Safari、Opera 和 Chrome 等)。可以使用它对浏览器进行各种各样的模拟操作,包括爬取一些网页内容。支持多种操作系统(包括 Windows、Linux、MAC 等)
二、使用步骤
1.环境配置
代码如下(示例):
pip install selenium
安装浏览器驱动 chromedriver版本 支持的Chrome版本 v2.46 v71-73 v2.45 v70-72 v2.44 v69-71 v2.43 v69-71 v2.42 v68-70 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v64-66 v2.36 v63-65 v2.35 v62-64 v2.34 v61-63 v2.33 v60-62 v2.32 v59-61 v2.31 v58-60 v2.30 v58-60 v2.29 v56-58 v2.28 v55-57 v2.27 v54-56 v2.26 v53-55 v2.25 v53-55 v2.24 v52-54 v2.23 v51-53 v2.22 v49-52 v2.21 v46-50 v2.20 v43-48 v2.19 v43-47 v2.18 v43-46 v2.17 v42-43 v2.13 v42-45 v2.15 v40-43 v2.14 v39-42 v2.13 v38-41 v2.12 v36-40 v2.11 v36-40 v2.10 v33-36 v2.9 v31-34 v2.8 v30-33 v2.7 v30-33 v2.6 v29-32 v2.5 v29-32 v2.4 v29-32 89.0.4389.23 89 88.0.4324.96 88 87.0.4280.88 87 86.0.4240.22 86 85.0.4183.87 85 84.0.4147.30 84 83.0.4103.39 83 81.0.4044.69 81 80.0.3987.106 80 79.0.3945.36 79 78.0.3904.105 78 77.0.3865.40 77 76.0.3809.126 76 75.0.3770.140 75 74.0.3729.6 74 73.0.3683.68 73 下载对应版本的chromedriver.exe: https://chromedriver.storage.googleapis.com/index.html
2.启动浏览器
代码如下(示例):
options.binary_location = r'C:\Users\long.zhang\AppData\Local\Google\Chrome\Application\chrome.exe'
print('启动浏览器1')
# 创建Chrome驱动实例,executable_path指定chromedriver路径
driver = webdriver.Chrome(chrome_options=options,
executable_path=r'I:\MyDemos\Python\RPA\78.0.3904.70\chromedriver_win32\chromedriver.exe')
#executable_path='I:\\MyDemos\\Python\\RPA\\chromedriver_win32\\chromedriver.exe'
print('打开浏览器2')
driver.set_window_size(800,600)
2.元素定位
代码如下(示例):
print('浏览器跳转地址3')
driver.get("http://scck2svr04.jscc.cn.jcetglobal.com/JSCC_ITExpense/login_k2.aspx")
#time.sleep(3)
driver.implicitly_wait(5)
print('浏览登录3')
driver.find_element_by_id('ContentMain_txtUSER_ID_p1').send_keys("long.zhang")
driver.find_element_by_id('ContentMain_txtUSER_PWD_p1').send_keys("1")
val = input("请输入验证码:")
while True:
if val and len(val)>0:
print(val)
break
pass
pass
driver.find_element_by_xpath('//*[@id="ContentMain_btnLogin"]').click()
print('登录成功4')
driver.find_element_by_link_text("ITExpense202206-024").click()
#driver.find_element_by_xpath('/
总结
记录点点滴滴
|