Python No module named "webbot" hatası

Katılım
13 Temmuz 2019
Mesajlar
1.314
Çözümler
9
Arkadaşlar merhaba PyCharm'da "modulenotfounderror: No module named "webbot" hatası almaktayım nasıl çözebilirim?

1670616906106.png
 

Dosya Ekleri

  • 1670617034474.png
    1670617034474.png
    21,7 KB · Görüntüleme: 52
Modül python "environment"ınızda bulunamamış. Terminale "pip install webbot" yazıp kurabilirsiniz ya da PyCharm'da Python Packages diye bir sekme olmalı, oradan da kurabilirsiniz. Yalnız böyle yaparsanız sadece o projede işe yarar.
 
Emin misiniz yaptığınıza? Sadece kodda import yazmaktan bahsetmiyorum, PyCharm'dan direkt o projenin içinde kurduysanız böyle bir hata almamanız lazım. Alt sekmede yanında Python Packages diye bir kısım olması lazım, orada webbot gözüküyor mu?
 
Emin misiniz yaptığınıza? Sadece kodda import yazmaktan bahsetmiyorum, PyCharm'dan direkt o projenin içinde kurduysanız böyle bir hata almamanız lazım. Alt sekmede yanında Python Packages diye bir kısım olması lazım, orada webbot gözüküyor mu?
Hocam Pyhton Packages'ten kurup hallettim fakat şimdi başka türlü bir hata geldi. Webdriver , Chrome falan filan diye.
 
Öncelikle WEB = Browser() yerine web = Browser() yazmalısınız. Çünkü büyük harfle tanımladığınız driver'ı aşağıda küçük harfle kullanmışsınız.

Ardından 8. satırda web got_to("site.com") yerine web.go_to("site.com") kullanmalısınız. Doğrusu böyledir.

Daha fazla bilgi için documentation'ı inceleyebilirsiniz.
 
Webbot'u boşver direkt selenium geç.
Ya Instagram icin bir yazilim gelistireyim dedim hatalar pesimi birakmadi. Selenium'a gecmek icin "from webbot" yazısını "from selenium" olarak değiştirmem yeterli mi?

Öncelikle WEB = Browser() yerine web = Browser() yazmalısınız. Çünkü büyük harfle tanımladığınız driver'ı aşağıda küçük harfle kullanmışsınız.

Ardından 8. satırda web got_to("site.com") yerine web.go_to("site.com") kullanmalısınız. Doğrusu böyledir.

Daha fazla bilgi için documentation'ı inceleyebilirsiniz.
Bir deneyeyim hocam

Öncelikle WEB = Browser() yerine web = Browser() yazmalısınız. Çünkü büyük harfle tanımladığınız driver'ı aşağıda küçük harfle kullanmışsınız.

Ardından 8. satırda web got_to("site.com") yerine web.go_to("site.com") kullanmalısınız. Doğrusu böyledir.

Daha fazla bilgi için documentation'ı inceleyebilirsiniz.
Yok maalesef olmadı bir şekilde iletişime geçebilir miyiz hocam?
 
Yok maalesef olmadı bir şekilde iletişime geçebilir miyiz hocam?
Özelden yardımlaşma yasak maalesef. Buradan yardımcı olabilirim elimden geldiğince.



Biraz araştırmanın ardından webbot kütüphanesinin selenium kütüphanesinin v4 güncellemesi ile gelen özelliklerine optimize olmadığını fark ettim. v4 güncellemesinden önce driver için bir yol belirtilirdi ve seçenekler sunulurdu. Bunu webbot düzgünce yapıyordu fakat güncellemenin ardından selenium kütüphanesi kendi driverını indirmeye başladı. Bu sebeple webbot kütüphanesini güncellemek gerekiyor.

Bir kısmına kadar gidebildim aslında. Basitçe anlatmak gerekirse "C:\Users\kullanici\AppData\Roaming\Python\Python310\site-packages\webbot\webbot.py" yolundaki webbot kütüphanesi üzerinde biraz değişiklik yapmak gerekiyordu. Bu yol pek tabii ki Python 3.10 sürümü için. Hata aldığınız yerde zaten yazıyordur kütüphanenin yolu.

Öncelikle bu yoldaki kütüphane dosyasını açıyoruz. Sonra birkaç kütüphane indiriyoruz. PyCharm'da aşağıda bulunan terminalden ya da packages kısmından indirebilirsiniz. Bunlar;
Python:
pip install selenium  #Eğer indirilmemişse
pip install webdriver-manager
Ardınan en yukarıdaki importlara şunları ekliyoruz;
Python:
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
Sonuç olarak tüm importlar şu şekilde gözükecek;
Python:
import os
import re
import string
import errno
import sys
from collections import OrderedDict

from selenium import webdriver
from selenium.common import exceptions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

İmportlar tamamlandıktan sonra 70. satırdaki koda geliyoruz. 70. satırı şu ile değiştiriyoruz.
Python:
self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
Bu webbot kütüphanesini selenium v4 ile optimize edecek fakat halen işlem yapamayız çünkü eski seleniumda gerekli olan bazı attributeler hata verecek. Onun için de 73 ve 81. satır arasındaki tüm kodları siliyoruz. Sonuç olarak 70 ve 76. satır arası böyle gözükecek;
Python:
        self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
        self.Key = Keys
        self.errors = []

    def close_current_tab(self):
        """Closes the current tab which the driver is controlling"""
        self.driver.close()

Tüm bunların ardından webbot kütüphanesi artık selenium ile optime hale gelmiş olacak ve yazdığınız kodlar çalışacak. Tabii ki hatalar da görülecek. Webbot kütüphanesinin çok acemice yazıldığı açıkça anlaşılabiliyor. Selenium üzerine kurulu bir kütüphane kullanmanızı önermem çünkü çoğu özellik kısıtlanır.

Sonuç olarak kütüphane üzerinde küçük değişiklikler yaparak çalışır hale getirebiliriz. Ben birazını yaptım fakat devamına bilgim yetmedi. @özgün deniz hocamın dediğine de katılıyorum. Bence de seleniuma geçin. Geçmek istemezseniz de çözümü yukarıda sundum.

İyi sosyaller.
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı