Ошибка: объект 'Service' не имеет атрибута 'process' при использовании извлечения супа Python Beautiful с селеном

Я использую этот код для удаления некоторых данных по ссылке https://website.grader.com/results/www.dubizzle.com. Поскольку реальный скрипт с тегами, которые я хочу извлечь, загружает после 15 секунд загрузки, кто-то порекомендовал мне selenuim ввести задержку в коде. Следовательно, я использую этот код

Код как ниже

#!/usr/bin/python
import urllib
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from bs4 import BeautifulSoup
from dateutil.parser import parse
from datetime import timedelta
import MySQLdb
import re
import pdb
import sys
import string

driver = webdriver.Firefox()
driver.get('https://website.grader.com/results/dubizzle.com')
time.sleep(25)
html = driver.page_source
soup  = BeautifulSoup(html)

# print soup

Sizeofweb=""
try:

    Sizeofweb= soup.find('span', {'data-reactid': ".0.0.3.0.0.3.$0.1.1.0"}).text
    print Sizeofweb.get_text().encode("utf-8")

except StandardError as e:
    converted_date="Error was {0}".format(e)
    print converted_date

Часть HTML, которую я извлекаю, как показано ниже

Снимок: https://www.dropbox.com/s/7dwbaiyizwa36m6/5.PNG?dl=0

<div class="result-value" data-reactid=".0.0.3.0.0.3.$0.1.1">
 <span data-reactid=".0.0.3.0.0.3.$0.1.1.0">1.1</span>
 <span class="result-value-unit" data-reactid=".0.0.3.0.0.3.$0.1.1.1">MB</span>
</div>

Я получаю ошибку:

Traceback (most recent call last):
  File "ahmed.py", line 20, in <module>
    driver = webdriver.Firefox()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 140, in __init__
    self.service.start()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 81, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x7f65a1ccbe10>> ignored

1 ответ

У вас не установлен ни текущий веб-драйвер FireFox, ни ваш путь, код работает с ошибкой даже до запуска браузера в

driver = webdriver.Firefox()

Чтобы это исправить, вам нужно будет установить (или переустановить) драйвер Firefox и добавить его в свой путь.

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