Python 自动点击其它网页按钮事件

jiang5311 2020-07-22 02:04:57
有一个第三方网页,现在需要做一个python程序,实现自动登录,然后自动点击一个“进口”按钮。
这个网页点击按钮后,会再次跳出一个页面,需要点击“是的”,在处理完一个设备后,打开其他设备网页,点击"进口",“是的”,循环处理另外一个设备,请教大家怎么写?最好有源码,谢谢!

个人初步代码:
#!coding=utf-8
import time
from selenium import webdriver
import pickle
import os
import selenium.webdriver.support.ui as ui


##环境配置
#chromedriver = "C:\Steven_Python\chromedriver.exe"
#os.environ["webdriver.ie.driver"] = chromedriver

#登录网址,用户名,密码
URL1 = 'https://suz.funnelcloud.srgglobal.com/#/login'
URL2 = 'https://suz.funnelcloud.srgglobal.com/#/machines/12/settings/manufacturing-processes'
username = 'xxx'
password = 'xxx'


driver = webdriver.Chrome()
driver.get(URL1)#打开网页
driver.maximize_window() #最大化谷歌浏览器
time.sleep(10)#等待10秒,用于人工登录

#driver.find_element_by_id('ember1721').click() # 点击用户名输入框
#driver.find_element_by_id('ember1721').clear() #清空输入框
#driver.find_element_by_id('ember1721').send_keys(username) # 自动敲入用户名
#
#driver.find_element_by_id('ember1722').click() # 点击密码输入框
#driver.find_element_by_id('ember1722').clear() #清空输入框
#driver.find_element_by_id('ember1722').send_keys(password) # 自动敲入密码

time.sleep(5)#等待10秒,用于人工登录
print('100-open web')


'''往浏览器添加cookie'''
'''利用pickle序列化后的cookie'''
try:
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
cookie_dict = {
# "domain": ".baidu.com", # 火狐浏览器不用填写,谷歌要需要
"domain": ".srgglobal.com", # 火狐浏览器不用填写,谷歌要需要
'name': cookie.get('name'),
'value': cookie.get('value'),
"expires": "",
'path': '/',
'httpOnly': False,
'HostOnly': False,
'Secure': False}
driver.add_cookie(cookie_dict)
except Exception as e:
print(e)

print('200-set cookie')

#刷新driver
driver.refresh()
print('300-refresh web')

'''保存cookie'''
# 将cookie序列化保存下来
pickle.dump(driver.get_cookies(), open("cookies.pkl", "wb"))

driver.get(url='https://suz.funnelcloud.srgglobal.com/#/machines/12/settings/manufacturing-processes')
print('Login OK!')

time.sleep(4)#等待10秒


#mytest = driver.find_element_by_xpath("//div[contains(text(),'进口')]")
mytest = driver.find_element_by_link_text("进口")
if mytest:
print('ys')
else:
print('no')

#driver.find_element_by_link_text("进口").click

#driver.find_element_by_xpath('//div[@class="u_sp"]/a[1]').click()



#ember2054 > div.ui.basic.segment > div > div.thirteen.wide.column > div:nth-child(4)
#<div style="touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;" class="ui tiny right floated blue basic button ">
# 进口
# </div>


##ember1684 > div.ui.visible.active.dimmer.modals.page > div > div > div.actions > button.ui.right.floated.massive.green.inverted.circular.labeled.icon.button
#<button class="ui right floated massive green inverted circular labeled icon button" style="touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;">
# <i class="checkmark icon"></i> 是的
# </button>
...全文
2080 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang5311 2020-07-22
  • 打赏
  • 举报
回复
可能我不太了解网页的布局,应该是用类似的函数: driver.find_element_by... 然后找到网页元素就可以点击。请各位多回复,讨论一下说不定就出来了

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧