2017-03-05 48 views
1

我越來越硒預計條件: '海峽' 對象不是可調用

Traceback (most recent call last): 
    File "/Users/xyz/Documents/Projects/apartmentsearch/stanga.py", line 46, in <module> 
    wait.until(EC.visibility_of_element_located(By.CLASS_NAME('sk-fading-circle spinner-container-3'))) 
TypeError: 'str' object is not callable 

運行此代碼

from bs4 import BeautifulSoup 
from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 

PHANTOMJS_PATH = './pjs/bin/phantomjs' 

browser = webdriver.PhantomJS(PHANTOMJS_PATH) 
browser.get('REDACTED') 

wait = WebDriverWait(browser, 10) 
wait.until(EC.visibility_of_element_located(By.CLASS_NAME('sk-fading-circle spinner-container-3'))) 
wait.until(EC.invisibility_of_element_located(By.CLASS_NAME('sk-fading-circle spinner-container-3'))) 

soup = BeautifulSoup(browser.page_source, "html.parser") 

print(soup.prettify()) 

執行Python 2.7。編輯網站的URL,但它的工作,我可以加載頁面沒有等待。

在線代碼片段似乎表明這樣的代碼應該可以運行。我錯過了什麼?我會使用斷點來解決它,但PyCharm並沒有因爲某種原因停止在我的斷點上,這也是我想弄清楚的...

回答

1

您指定的定位器錯誤。它需要的(By, selector_string)

wait = WebDriverWait(browser, 10) 
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, 'sk-fading-circle 
spinner-container-3'))) 
wait.until(EC.invisibility_of_element_located((By.CLASS_NAME, 'sk-fading-circle 
spinner-container-3'))) 

一個元組(或陣列),此外,它看起來像你想使用多類CLASS_NAME。我不認爲這會起作用。你應該嘗試(By.CSS_SELECTOR, '.sk-fading-circle.spinner-container-3')而不是

+0

你真棒,謝謝! – Dockson

相關問題