你open之后,有做close嗎?可能是有殘留進(jìn)程。
import unittest
from selenium import webdriver
class TestLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.url = 'http://xxx'
def test_case_1():
"""Test Correct user Name and Password"""
# code for login
# assert page title
pass
def test_case_2():
"""Test Email and Password Fields are blank"""
pass
...
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()我看到每一層樓的信息都有的呀
? vue在各種功能上能不能完全代替Jquery?
不能。
事實(shí)上的情況是,用了 vue 這種層面的東西,需要再用 jQuery 的場(chǎng)景會(huì)少一些了。因?yàn)樾枰闶謩?dòng)操作節(jié)點(diǎn),處理事件的機(jī)會(huì)更少了。
所以,如果 vue 自己的一些東西已經(jīng)完全滿(mǎn)足你的需要,那你沒(méi)機(jī)會(huì)再用到 jQuery 的 api 。如果不滿(mǎn)足你的需要,那么你可以用 jQuery ,也可以直接用原生的 api 實(shí)現(xiàn)一些東西,畢竟,現(xiàn)在市面上兼容性問(wèn)題已經(jīng)不像以前那么尷尬了。
還有什么樣的js框架適合我的項(xiàng)目?React?
無(wú)所謂是否適合你的項(xiàng)目,你只需要考慮,你會(huì)什么就好了。 vue / react/ angular 隨便選一個(gè)學(xué)學(xué)就好。( react 是最流行的, vue 也許比較容易上手,我是一直用 angular 的,并且認(rèn)為前兩者相沒(méi)有什么吸引我的新東西)
? Jquery有bootstrap這樣漂亮的ui框架,vue有沒(méi)有配套的ui框架?
有。如果找不到,不會(huì)搜索,那是另一個(gè)問(wèn)題了。
django是不是自帶一套u(yù)i界面啊,我看他的啟動(dòng)界面還是挺漂亮的。
django 自帶的是管理后臺(tái),僅僅是后臺(tái)。
? 我的網(wǎng)站里有一個(gè)新聞欄,就是推送各種用戶(hù)的新聞,我想這個(gè)功能應(yīng)該是用nosql的數(shù)據(jù)庫(kù)更適合(我猜的),那應(yīng)該會(huì)用到nosql這樣的數(shù)據(jù)庫(kù)如mongodb等,那Django框架對(duì)哪一種nosql數(shù)據(jù)庫(kù)匹配更好?
你覺(jué)得“更適合”并沒(méi)有什么用,因?yàn)槟悴⒉痪邆渑袛噙@些技術(shù)方案的基礎(chǔ)知識(shí)。換句話(huà)說(shuō),老老實(shí)實(shí)把關(guān)系數(shù)據(jù)庫(kù)用好再說(shuō)吧。(到那個(gè)時(shí)間你就會(huì)發(fā)現(xiàn),所謂的 nosql ,在大多數(shù)的業(yè)務(wù)邏輯型的場(chǎng)景下,都是不必要的)
? 除了nosql數(shù)據(jù)庫(kù)的應(yīng)用,我的網(wǎng)站里還有各種結(jié)構(gòu)化數(shù)據(jù),我在django中同時(shí)使用結(jié)構(gòu)化的數(shù)據(jù)庫(kù),如mysql,或者自帶的sqlite,那在同一個(gè)項(xiàng)目里同時(shí)使用mongodb和mysql,不會(huì)有什么困難吧?最怕有異常八阿哥。
不會(huì)有困難。但是對(duì)你有沒(méi)有困難就不一定了。
? 大家對(duì)我這個(gè)轉(zhuǎn)型或者說(shuō)重構(gòu)方案有什么建議?
just do it 。
只有一種可能,地址不對(duì),好好檢查repo地址
如一樓, 修改模塊文件的話(huà), 不會(huì)相應(yīng)修改
如果要相應(yīng)修改需要重新加載
————————————————華麗的分割線(xiàn)————————————————
另外一種會(huì)修改的栗子:
# m_base.py
num = 1
myList = [1]
# m_a.py
import m_base
import threading
def doChange():
print('do change')
m_base.num = 2
m_base.myList[0] = 2
timer = threading.Timer(5, doChange)
timer.start()
# m_b.py
import time
import m_base
def printBase():
while 1:
print('b num:', m_base.num)
print('b list:', m_base.myList[0])
print('')
time.sleep(1)
printBase()
# m_all.py
import m_a
import m_b
執(zhí)行python m_all.py:
因?yàn)檫@里實(shí)際就是同一個(gè)對(duì)象
dot 也就是 . ,這個(gè)會(huì)重復(fù)你的上一次修改操作
先刪除掉Nginx的默認(rèn)配置文件:
sudo rm /etc/nginx/sites-enabled/default
建議你看看這個(gè) ubuntu 下的配置,也許對(duì)你有用。
我猜你 ping www.baidu.com應(yīng)該ping不通。
網(wǎng)頁(yè)打不開(kāi),如果ping 8.8.8.8 能ping通,應(yīng)該是dns的問(wèn)題。
如果也平不通,那就是物理網(wǎng)卡都沒(méi)連網(wǎng),看看是不是路由器或是網(wǎng)線(xiàn)斷了
ajax需要傳json數(shù)據(jù),data項(xiàng)
用 SyncManager 便可,如
# -*- coding: utf-8 -*-
from multiprocessing.managers import SyncManager
class RegisterManager(SyncManager):
pass
if __name__ == "__main__":
manager = RegisterManager(address=("127.0.0.1", 5000), authkey=b"666")
manager.start()
userTable = manager.dict()
userTable["key"] = "hi"
manager.shutdown()^
匹配輸入字符串的開(kāi)始位置。如果設(shè)置了RegExp對(duì)象的Multiline屬性,^也匹配“\n”或“\r”之后的位置。
(?!pattern)
正向否定預(yù)查,在任何不匹配pattern的字符串開(kāi)始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說(shuō),該匹配不需要獲取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。5次?不是7次嗎.
你直接for循環(huán)了conMidtab2下所有的城市,但是沒(méi)有注意到頁(yè)面上的天氣不只是一天.
[自問(wèn)自答] 我后來(lái)發(fā)現(xiàn)了,用chrome dev tool其實(shí)可以看到頁(yè)面本身請(qǐng)求數(shù)據(jù)時(shí)發(fā)送的appid/appkey,不過(guò)不是以這樣的param name呈現(xiàn)出來(lái),所以一開(kāi)始被我忽視了。實(shí)際上只要把這兩個(gè)鍵值對(duì)加進(jìn)header里,并加上chrome里看得到的payload信息,用requests發(fā)送POST請(qǐng)求,就可以直接調(diào)取數(shù)據(jù)庫(kù)信息了。
foreach ($arrayorser as $key=> $value){
$ser[] = $value['order_id'];
}
foreach ($search_order as $k=>$v){
$sers[] = $v['order_id'];
}
foreach ($ser as $key=> $item){
if(in_array($item,$sers)){
$arr[$key]['order_id'] = $item;
}
}
這是我寫(xiě)的很low,測(cè)試了你代碼 你的在時(shí)間上相對(duì)平穩(wěn) 8.4s 我的在 8.3~8.49s 之間 最后還是采用了你的
稍?xún)?yōu)化了一點(diǎn),按你的算法,有n個(gè)元素的數(shù)組,要循環(huán)
n * n * in_array里的次數(shù),in_array內(nèi)部也是循環(huán)
var arr = [1, 2, 5, 6, 7];//如果這個(gè)數(shù)組不是有序數(shù)組,哪還要先加排序
var len =arr.length
let result=[]
let count=0
for(let a=0;a<len;a++){
let max = arr.pop()
let newlen = arr.length
for(let i=0;i<newlen-1;i++){
if(arr[i]+arr[i+1]> max){
break;
}
for(let j=i;j<newlen-1;j++){
let plus = arr[i]+arr[j+1]
count++
if(plus>max){
break;
}
if(plus==max){
result.push([max,arr[i],arr[j+1]])
}
}
}
}
console.log(result)//輸出結(jié)果
console.log(count)//輸出總循環(huán)次數(shù),
回復(fù)里說(shuō)的好,我沒(méi)有考慮負(fù)數(shù)的情況,如果要考慮負(fù)數(shù),哪把最大數(shù)pop出來(lái),就不行了,只能重新維護(hù)一條新數(shù)組,用來(lái)枚舉所有值,修改如下
var arr = [-8, -1, 1, 2, 5, 6, 7];//如果這個(gè)數(shù)組不是有序數(shù)組,哪還要先加排序
var len =arr.length
var arr1 = [...arr] //復(fù)制一條新數(shù)組
let result=[]
let count=0
for(let a=0;a<len;a++){
let max = arr1.pop()// 從新數(shù)組中枚舉各個(gè)值。
let newlen = arr.length
for(let i=0;i<newlen-1;i++){
if(arr[i]+arr[i+1]> max){
break;
}
for(let j=i;j<newlen-1;j++){
let plus = arr[i]+arr[j+1]
count++
if(plus>max){
break;
}
if(plus==max){
result.push([max,arr[i],arr[j+1]])
}
}
}
}
console.log(result)//輸出結(jié)果
console.log(count)//輸出總循環(huán)次數(shù),
輸出
[[7, 1, 6], [7, 2, 5], [6, -1, 7], [6, 1, 5], [5, -1, 6], [1, -1, 2], [-1, -8, 7]]$.ajax({
url: '/XG/XgsgList',
type: 'GET',
data: {
'pagesize': 30, 'page': countNum
},
beforeSend: function () {
//請(qǐng)求前調(diào)用函數(shù),如果它返回 false ,請(qǐng)求將被取消。
loadingDiv.showThis('see_more');
},
dataType: "json",
success: function (data) {
LoadTable(data, sgUrlArr, onload)
},
error: function () {
$("#see_more").hide();
$("#xgsg").append('<div class="day-list"><table><tbody><tr><td colspan="4">數(shù)據(jù)加載失敗</td></tr></tbody></table></div>');
}
});
因?yàn)樗窃谶@里加載的
你最開(kāi)始爬蟲(chóng)的html里沒(méi)有day-list
<div id="xgsg" class="tab-panel active">
<table class="tab-header">
<tr>
<td class="pd10 w19b"><div class="lh20 ">名稱(chēng)</div><div class="lh20 ">申購(gòu)碼</div></td>
<td class="pd10 w19b"><div class="lh20 ">網(wǎng)上</div><div class="lh20 ">發(fā)行數(shù)</div></td>
<td class="pd10 w24b"><div class="lh20 ">發(fā)行價(jià)</div><div class="lh20 ">市盈率</div></td>
<td class="pd10 w19b">申購(gòu)上限</td>
<td class="pd10 w19b">狀態(tài)</td>
</tr>
</table>
</div>你確認(rèn)一下你的 ghost script 有在系統(tǒng)路徑中(PATH), 沒(méi)有的話(huà)去修改環(huán)境變量將之加入 PATH 中。
可以稍微參考一下這篇 的方法來(lái)修改 windows 的環(huán)境變量。
另外對(duì)於引發(fā)的 OSError,這裡有 source code 可以參考。
我回答過(guò)的問(wèn)題: Python-QA
print(e) 后面加個(gè)逗號(hào): print(e),
要實(shí)現(xiàn)一個(gè)腳本文件輸出兩個(gè)log的話(huà),建議將上面的logging.conf跟audit.conf整合成一個(gè)配置文件
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。