2016-11-06 43 views
2
inputData = raw_input('time:')  
find_elem = wait.until(EC.presence_of_element_located((By.XPATH, "//*[contains(text(), '%s')]"% inputData))) 

我不知道爲什麼我的代碼不工作。我試圖通過我的rawinput。如果我擺脫了%s並且只是放了一個字符串。有用。通過不工作,我的意思是,腳本會停止滾動,直到我在raw_input中執行某個特定時間,但它不會,但如果我只是在沒有%s的情況下傳遞字符串,它將停止並按我的意願工作。在子串中使用%s

+2

聽起來好像你有一個可以工作的字符串(一個是硬編碼的),另一個不是(你用'%s'創建的那個)。將它們打印出來,找出差異。 – smarx

+0

什麼意思'不工作' - 你會得到錯誤信息或什麼? – furas

+0

@furas在這種情況下,它需要停止滾動,但繼續滾動。但是如果我擺脫%s,它會停在我想要的數量上。 – Dilli

回答

1

您應該使用元組字符串格式化:

"%s" % (inputData) 

UPDATE 這解決了問題,但我不知道爲什麼?我不知道爲什麼這個工作並解決了問題。正如評論中所建議的,(inputData)甚至不是一個元組。而字符串格式不需要第二個參數是元組。第二個參數可以是一個字符串。

+0

此解決方案工作!謝謝! – Dilli

+1

我沒有解釋爲什麼這會解決某些問題......'(inputData)'不是*元組。 '(inputData,)'會。無論如何,你當然可以在這種構造中使用一個字符串'「%s」%「hello world」'工作得很好。 – smarx