2017-07-28 2 views
0

Zomatoからのレビューの投稿時間をすべて集計しようとしています。 「人気のある」タブのものではなく、「すべてのレビュー」タブのものではありません。Python Selenium Chrome Driverを使用してZomatoの要素をクリックしてください。

「すべてのレビュー」タブをクリックする必要がありますが、私はそれをやるのに苦労しています。私のコードは「人気のある」タブのものを印刷し続けます。

出力:

  • 21日前
  • 1ヶ月前
  • 1ヶ月前
  • 2ヶ月前
  • 2ヶ月前
  • 2ヶ月前

予想されるO utput:

  • 13日前
  • 4日前
  • 4日前昨日
  • 14日前

注:出力は、その日から、コードの結果を示していますこの質問が掲載されました。

"Review Tabs"

from selenium import webdriver 
import os 

chromeDriver = "....\\chromedriver" 
URL = "https://www.zomato.com/cebu/the-pyramid-lahug-cebu-city" 
os.environ["webdriver.chrome.driver"] = chromeDriver 
driver = webdriver.Chrome(chromeDriver) 
driver.get(URL) 

driver.find_elements_by_xpath("//a[@data-sort='reviews-dd']")[0].click() 

timeList = driver.find_elements_by_tag_name('time') 
for time in timeList: 
    print(time.text) 

driver.quit() 
+2

すべての人が簡単に再現できる最小限の例を投稿する必要があります。それはあなたの問題をすばやく理解するのに多くの助けになります。 – Heyji

答えて

1

コードのこの作品は、それが動作するかもしれしてみてください。

from selenium import webdriver 
from selenium.common.exceptions import TimeoutException 
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 
from selenium.webdriver.common.keys import Keys 
import time 

browser=webdriver.Chrome() 
browser.maximize_window() 
browser.get("https://www.zomato.com/cebu/the-pyramid-lahug-cebu-city") 
delay=15 
#browser.execute_script("window.scrollTo(0,document.body.scrollHeight/2)") 
time.sleep(2) 

element = WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.XPATH, ".//*[@id='selectors']/a[2]"))) 
element.click() 
element = WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".item.default-section-title.everyone.empty"))) 
element.click() 
print "click done" 
time= WebDriverWait(browser, delay).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".grey-text>time"))) 
for i in time: 
    print i.text 
browser.quit() 
+0

出力される理由は、ページがスクロールされないためです。 – Sachhya

関連する問題