Почему мой поисковый робот выполняет другой результат на Сервере Ubuntu?

Я пишу несколько кодов для получения URL от окна ползунка изображения домашней страницы Yahoo, которое встраивается через JavaScript, поэтому я использую Селен для моделирования человеческого действия щелчка. Иллюстрация кода и деталей присоединяется в файле Python. Помогите мне понять это.

enter image description here

'''Since Ubuntu do not have physical FireFox Browser, so I use
xvfbwrapper to create the environment,
I only add it on the server site. Local testing, I did not add it. 
'''
#from xvfbwrapper import Xvfb
#with Xvfb() as xvfb:

from selenium import webdriver
import selenium.webdriver.support.ui as ui

url_path="https://sg.yahoo.com"
driver = webdriver.Firefox()
driver.get(url_path)
#wait until the Crawler find the Carousel-Ranges Class which is the image slider (it contains all the urls which i need)
first_result = ui.WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_class_name('Carousel-Ranges'))
#get the number of url to implement the for loop
imageRange = first_result.text
numString = imageRange.split("of ")
numInt = int(numString[1])
print numInt #print total number of URL that extracted through text

for x in range(0,((numInt-10)/5)+1):
    #simulate the click action. every single click, the javascript will enable 5 more urls so I can use "li.Cur-p a"
    #to get, and by default there are only 10 urls which are enabled.
    driver.find_element_by_css_selector("button[class*='End-0 T-0 B-0 Fz-30 Z-1']").click()
topNews = driver.find_elements_by_css_selector("li.Cur-p a");
#print out the urls list that cralwed. If it matches with previous number
# then it means I successfully get the result.
print len(topNews)

Но этот код только осуществим для локального тестирования. Когда я добавляю xvfbwrapper и помещаю его в сервер, он не работает. Беря пример, если общие URL 60, поисковый робот работает локальный, который возвратил тот же результат (с 60 успехами); но когда сервер выполняет его, это только возвращается 10, который является URL по умолчанию. Поэтому я вывожу проблему, может вызвать этим xvfbwrapper. Но я не делаю, как решить его. Кто-либо может обратиться по этому вопросу? Еще раз спасибо

3
задан 23 November 2015 в 05:21

0 ответов

Другие вопросы по тегам:

Похожие вопросы: