Просмотрите inte rnet, используя Python - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь получить доступ к inte rnet с помощью Python. И я написал небольшую программу. Но я получаю много ошибок, которые не имеют для меня смысла.

Вот программа:

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://google.com")

А вот ошибки:

"C:\Users\PycharmProjects\Python Tutorials\venv\Scripts\python.exe" "C:/Users/PycharmProjects/Python Tutorials/Facebook.py"
    Traceback (most recent call last):
      File "C:\Users\PycharmProjects\Python Tutorials\venv\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start
        self.process = subprocess.Popen(cmd, env=self.env,
      File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 854, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1307, in _execute_child
        hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
    FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
      File "C:/Users/PycharmProjects/Python Tutorials/Facebook.py", line 10, in <module>
        driver = webdriver.Firefox()
      File "C:\Users\PycharmProjects\Python Tutorials\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__
        self.service.start()
      File "C:\Users\PycharmProjects\Python Tutorials\venv\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
        raise WebDriverException(
    selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

Process finished with exit code 1

Я воспользовался вашим предложением, и у меня оно сработало. Думаю, теперь я могу не только открыть веб-сайт google.com, но также открыть веб-сайт Facebook вместе со своим идентификатором и паролем.

Основная проблема, когда я не смог установить webdrivermanager, потому что, как я обнаружил, есть два пакета, webdrivermanager и webdriver-manager. Я пытался установить webdrivermanager, и он продолжал выдавать мне ошибку при попытке установить его, но когда я установил webdriver-manager, он позволил мне успешно установить, и теперь он работает для меня.

Пожалуйста, проверьте это с помощью здесь:

Я пытаюсь открыть веб-сайт google.com, он автоматически закрывается, а затем запрашивает мой логин, а затем пароль, а затем открывает еще одну firefox веб-страницу, где он показывает мне домашняя страница для Facebook.

здесь, я также поставил # рядом с предыдущей командой и попытался запустить, что прошло успешно. Я хотел бы отдать должное веб-сайту geeksforgeeks.com, с которого я взял большую часть кода.

1 Ответ

0 голосов
/ 06 мая 2020

Message: 'geckodriver' executable needs to be in PATH. this clearly mentioned that the geckodriver path is missing. и есть много ответов, которые вы можете найти при поиске этого сообщения в Stackoverflow.

Однако я бы предпочел использовать библиотеку Weddriver-manger, которая загрузит драйвер и предпримет необходимые шаги для запустите браузер с минимальными усилиями.

Попробуйте следующий фрагмент.

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get("https://www.google.com")

driver.quit()

Убедитесь, что в проект добавлена ​​библиотека Webdriver-manager. Ниже приведен снимок экрана для pycharm enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...