Я использую этот код для утилизации некоторых данных по ссылке https://website.grader.com/results/www.dubizzle.com. Поскольку фактический скрипт с тегами, которые я хочу извлечь нагрузки после 15 секунд загрузки, кто-то рекомендовал мне selemuim ввести задержку в коде. Поэтому я использую этот кодОшибка Traceback при использовании селена с библиотекой python beautifulsoup
код, как показано ниже
#!/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>
Я установил geckodriver, загрузив его отсюда и извлекая его в каталог/home, а затем предоставив ему путь экспорта PATH = $ PATH:/home/geckodriver, как рекомендовал кто-то по имени @Ahn S Мит здесь
Теперь, когда я запустить программу, она дает эту ошибку
Traceback (most recent call last):
File "ahmed.py", line 17, 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 74, in start
stdout=self.log_file, stderr=self.log_file)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 20] Not a directory
- путь/должен/должен быть таким, какой он есть? geckodriver находится в домашнем каталоге, поэтому я должен поставить драйвер = webdriver.Firefox (executable_path = '/ path/to/geckodriver') – info
Если вы передаете параметр 'executable_path', вы должны включить полный путь, включая geckodriver. Если вы добавляете переменную 'PATH' в свою оболочку, вы должны указать только путь к каталогу, содержащему geckodriver. – jinksPadlock
Пожалуйста, проверьте мой ответ на код и ошибку. Я поставил geckodriver в домашний каталог – info