當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » python登錄腳本

python登錄腳本-九游会j9娱乐平台

發布時間: 2024-07-05 12:32:04

『壹』 想用python編寫一個腳本,登錄網頁,在網頁里做一系列操作,應該怎樣實現

python編寫一個腳本的臘廳具體操作:

1、首先,打開python並創建一個新的py文件。

『貳』 python selenium自動化寫登錄腳本時,彈出的第三方登錄頁面該如何定位元素

importtime
defbai():
try:
browser=webdriver.chrome()
browser.get(url)
wait=webdriverwait(browser,10)
#定位網路登陸按鈕
browser.find_element_by_xpath('//*[@id="u1"]/a[7]').click()
time.sleep(5)
#qq登陸
browser.find_element_by_xpath('//*[@id="pass_phoenix_btn"]/ul/li[1]/a').click()
#切換至qq登陸窗口
time.sleep(5)
browser.switch_to.window(browser.window_handles[1])
#切換至賬戶密碼框
browser.switch_to.frame('ptlogin_iframe')
#賬戶登陸按鈕
browser.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

user=browser.find_element_by_id('u')
user.send_keys(賬戶)

password=browser.find_element_by_id('p')
password.send_keys(密碼)
browser.find_element_by_id('login_button').click()
browser.switch_to.window(browser.window_handles[0])

finally:
browser.close()
bai()

『叄』 python腳本如何登錄有密碼的windows文件夾路徑

stackoverflow。com/questions/5593198/python-how-to-open-windows-share-using-user-name-and-password

這個地址有可以幫你解答你的問題,你自己看一下吧,但思路都差不多。
前面加http,把句號換成點。

『肆』 我在利用python做自動化登錄時,def user_login(self,driver)執行腳本報錯,但把self去掉就沒報錯,見圖

self代表類的實例而非類,例如
class test:
def prt(self):
print(self)
print(self.__class__)
t = test()
t.prt()
當我們調用t.prt()時,實際上python解釋成test.prt(t)。
所以你這里並沒有將login這個類實例化,self參數自然也就無法解析了。

『伍』 用python寫測試腳本,從本地傳文件至ftp遠程路徑

轉自:http://news.tuxi.com.cn/kf/article/jhtdj.htm

本文實例講述了python實現支持目錄ftp上傳下載文件的方法。分享給大家供大家參考。具體如下:

該程序支持ftp上傳下載文件和目錄、適用於windows和linux平台。

#!/usr/bin/envpython
#-*-coding:utf-8-*-
importftplib
importos
importsys
classftpsync(object):
conn=ftplib.ftp()
def__init__(self,host,port=21):
self.conn.connect(host,port)
deflogin(self,username,password):
self.conn.login(username,password)
self.conn.set_pasv(false)
printself.conn.welcome
deftest(self,ftp_path):
printftp_path
printself._is_ftp_dir(ftp_path)
#printself.conn.nlst(ftp_path)
#self.conn.retrlines('list./a/b')
#ftp_parent_path=os.path.dirname(ftp_path)
#ftp_dir_name=os.path.basename(ftp_path)
#printftp_parent_path
#printftp_dir_name
def_is_ftp_file(self,ftp_path):
try:
ifftp_pathinself.conn.nlst(os.path.dirname(ftp_path)):
returntrue
else:
returnfalse
exceptftplib.error_perm,e:
returnfalse
def_ftp_list(self,line):
list=line.split('')
ifself.ftp_dir_name==list[-1]andlist[0].startswith('d'):
self._is_dir=true
def_is_ftp_dir(self,ftp_path):
ftp_path=ftp_path.rstrip('/')
ftp_parent_path=os.path.dirname(ftp_path)
self.ftp_dir_name=os.path.basename(ftp_path)
self._is_dir=false
ifftp_path=='.'orftp_path=='./'orftp_path=='':
self._is_dir=true
else:
#thisuescallbackfunction,thatwillchange_is_dirvalue
try:
self.conn.retrlines('list%s'%ftp_parent_path,self._ftp_list)
exceptftplib.error_perm,e:
returnself._is_dir
returnself._is_dir
defget_file(self,ftp_path,local_path='.'):
ftp_path=ftp_path.rstrip('/')
ifself._is_ftp_file(ftp_path):
file_name=os.path.basename(ftp_path)
#如果本地路徑是目錄,下載文件到該目錄
ifos.path.isdir(local_path):
file_handler=open(os.path.join(local_path,file_name),'wb')
self.conn.retrbinary("retr%s"%(ftp_path),file_handler.write)
file_handler.close()
#如果本地路徑不是目錄,但上層目錄存在,則按照本地路徑的文件名作為下載的文件名稱
elifos.path.isdir(os.path.dirname(local_path)):
file_handler=open(local_path,'wb')
self.conn.retrbinary("retr%s"%(ftp_path),file_handler.write)
file_handler.close()
#如果本地路徑不是目錄,且上層目錄不存在,則退出
else:
print'eroor:thedir:%sisnotexist'%os.path.dirname(local_path)
else:
print'eroor:theftpfile:%sisnotexist'%ftp_path
defput_file(self,local_path,ftp_path='.'):
ftp_path=ftp_path.rstrip('/')
ifos.path.isfile(local_path):
file_handler=open(local_path,"r")
local_file_name=os.path.basename(local_path)
#如果遠程路徑是個目錄,則上傳文件到這個目錄,文件名不變
ifself._is_ftp_dir(ftp_path):
self.conn.storbinary('stor%s'%os.path.join(ftp_path,local_file_name),file_handler)
#如果遠程路徑的上層是個目錄,則上傳文件,文件名按照給定命名
elifself._is_ftp_dir(os.path.dirname(ftp_path)):
print'stor%s'%ftp_path
self.conn.storbinary('stor%s'%ftp_path,file_handler)
#如果遠程路徑不是目錄,且上一層的目錄也不存在,則提示給定遠程路徑錯誤
else:
print'eroor:theftppath:%siserror'%ftp_path
file_handler.close()
else:
print'error:thefile:%sisnotexist'%local_path
defget_dir(self,ftp_path,local_path='.',begin=true):
ftp_path=ftp_path.rstrip('/')
#當ftp目錄存在時下載
ifself._is_ftp_dir(ftp_path):
#如果下載到本地當前目錄下,並創建目錄
#下載初始化:如果給定的本地路徑不存在需要創建,同時將ftp的目錄存放在給定的本地目錄下。
#ftp目錄下文件存放的路徑為local_path=local_path os.path.basename(ftp_path)
#例如:將ftp文件夾a下載到本地的a/b目錄下,則ftp的a目錄下的文件將下載到本地的a/b/a目錄下
ifbegin:
ifnotos.path.isdir(local_path):
os.makedirs(local_path)
local_path=os.path.join(local_path,os.path.basename(ftp_path))
#如果本地目錄不存在,則創建目錄
ifnotos.path.isdir(local_path):
os.makedirs(local_path)
#進入ftp目錄,開始遞歸查詢
self.conn.cwd(ftp_path)
ftp_files=self.conn.nlst()
forfileinftp_files:
local_file=os.path.join(local_path,file)
#如果fileftp路徑是目錄則遞歸上傳目錄(不需要再進行初始化begin的標志修改為false)
#如果fileftp路徑是文件則直接上傳文件
ifself._is_ftp_dir(file):
self.get_dir(file,local_file,false)
else:
self.get_file(file,local_file)
#如果當前ftp目錄文件已經遍歷完畢返回上一層目錄
self.conn.cwd("..")
return
else:
print'error:thedir:%sisnotexist'%ftp_path
return

defput_dir(self,local_path,ftp_path='.',begin=true):
ftp_path=ftp_path.rstrip('/')
#當本地目錄存在時上傳
ifos.path.isdir(local_path):
#上傳初始化:如果給定的ftp路徑不存在需要創建,同時將本地的目錄存放在給定的ftp目錄下。
#本地目錄下文件存放的路徑為ftp_path=ftp_path os.path.basename(local_path)
#例如:將本地文件夾a上傳到ftp的a/b目錄下,則本地a目錄下的文件將上傳的ftp的a/b/a目錄下
ifbegin:
ifnotself._is_ftp_dir(ftp_path):
self.conn.mkd(ftp_path)
ftp_path=os.path.join(ftp_path,os.path.basename(local_path))
#如果ftp路徑不是目錄,則創建目錄
ifnotself._is_ftp_dir(ftp_path):
self.conn.mkd(ftp_path)

#進入本地目錄,開始遞歸查詢
os.chdir(local_path)
local_files=os.listdir('.')
forfileinlocal_files:
#如果file本地路徑是目錄則遞歸上傳目錄(不需要再進行初始化begin的標志修改為false)
#如果file本地路徑是文件則直接上傳文件
ifos.path.isdir(file):
ftp_path=os.path.join(ftp_path,file)
self.put_dir(file,ftp_path,false)
else:
self.put_file(file,ftp_path)
#如果當前本地目錄文件已經遍歷完畢返回上一層目錄
os.chdir("..")
else:
print'error:thedir:%sisnotexist'%local_path
return
if__name__=='__main__':
ftp=ftpsync('192.168.1.110')
ftp.login('test','test')
#上傳文件,不重命名
#ftp.put_file('111.txt','a/b')
#上傳文件,重命名
#ftp.put_file('111.txt','a/112.txt')
#下載文件,不重命名
#ftp.get_file('/a/111.txt',r'd:\')
#下載文件,重命名
#ftp.get_file('/a/111.txt',r'd:112.txt')
#下載到已經存在的文件夾
#ftp.get_dir('a/b/c',r'd:\a')
#下載到不存在的文件夾
#ftp.get_dir('a/b/c',r'd:\aa')
#上傳到已經存在的文件夾
ftp.put_dir('b','a')
#上傳到不存在的文件夾
ftp.put_dir('b','aa/b/')

希望本文所述對大家的python程序設計有所幫助。

以下轉自:http://blog.csdn.net/linda1000/article/details/8255771

python中的ftplib模塊

python中默認安裝的ftplib模塊定義了ftp類,其中函數有限,可用來實現簡單的ftp客戶端,用於上傳或下載文件

ftp的工作流程及基本操作可參考協議rfc959

ftp登陸連接

from ftplib import ftp #載入ftp模塊

ftp=ftp() #設置變數
ftp.set_debuglevel(2) #打開調試級別2,顯示詳細信息
ftp.connect("ip","port") #連接的ftp sever和埠
ftp.login("user","password")#連接的用戶名,密碼
print ftp.getwelcome() #列印出歡迎信息
ftp.cmd("xxx/xxx") #更改遠程目錄
bufsize=1024 #設置的緩沖區大小
filename="filename.txt" #需要下載的文件
file_handle=open(filename,"wb").write #以寫模式在本地打開文件
ftp.retrbinaly("retr filename.txt",file_handle,bufsize) #接收伺服器上文件並寫入本地文件
ftp.set_debuglevel(0) #關閉調試模式
ftp.quit #退出ftp

ftp相關命令操作

ftp.cwd(pathname) #設置ftp當前操作的路徑
ftp.dir() #顯示目錄下文件信息
ftp.nlst() #獲取目錄下的文件
ftp.mkd(pathname) #新建遠程目錄
ftp.pwd() #返回當前所在位置
ftp.rmd(dirname) #刪除遠程目錄
ftp.delete(filename) #刪除遠程文件
ftp.rename(fromname, toname)#將fromname修改名稱為toname。
ftp.storbinaly("stor filename.txt",file_handel,bufsize) #上傳目標文件
ftp.retrbinary("retr filename.txt",file_handel,bufsize)#下載ftp文件

網上找到一個具體的例子:

#例:ftp編程
fromftplibimportftp

ftp=ftp()
timeout=30
port=21
ftp.connect('192.168.1.188',port,timeout)#連接ftp伺服器
ftp.login('username','888888')#登錄
printftp.getwelcome()#獲得歡迎信息
ftp.cwd('file/test')#設置ftp路徑
list=ftp.nlst()#獲得目錄列表
fornameinlist:
print(name)#列印文件名字
path='d:/data/' name#文件保存路徑
f=open(path,'wb')#打開要保存文件
filename='retr' name#保存ftp文件
ftp.retrbinary(filename,f.write)#保存ftp上的文件
ftp.delete(name)#刪除ftp文件
ftp.storbinary('stor' filename,open(path,'rb'))#上傳ftp文件
ftp.quit()#退出ftp伺服器

完整的模板:

#!/usr/bin/python
#-*-coding:utf-8-*-
importftplib
importos
importsocket

host='ftp.mozilla.org'
dirn='pub/mozilla.org/webtools'
file='bugzilla-3.6.7.tar.gz'
defmain():
try:
f=ftplib.ftp(host)
except(socket.error,socket.gaierror):
print'error:cannotreach"%s"'%host
return
print'***connectedtohost"%s"'%host

try:
f.login()
exceptftplib.error_perm:
print'error:cannotloginanonymously'
f.quit()
return
print'***loggedinas"anonymously"'
try:
f.cwd(dirn)
exceptftplib.error_perm:
print'errorlcannotcdto"%s"'%dirn
f.quit()
return
print'***changedto"%s"folder'%dirn
try:
#傳一個回調函數給retrbinary()它在每接收一個二進制數據時都會被調用
f.retrbinary('retr%s'%file,open(file,'wb').write)
exceptftplib.error_perm:
print'error:cannotreadfile"%s"'%file
os.unlink(file)
else:
print'***downloaded"%s"tocwd'%file
f.quit()
return

if__name__=='__main__':
main()

『陸』 python 如何寫腳本

以python2.7操作為例:

1、首先需要打開電腦桌面,按開始的快捷鍵,點擊python2.7如圖所示的選項進入。

熱點內容
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
安卓系統視頻製作哪個好用 發布:2024-07-17 15:10:47 瀏覽:210
androidapk結構 發布:2024-07-17 15:10:43 瀏覽:945
网站地图