LonelyDarkSide
Hectopat
- Katılım
- 13 Temmuz 2019
- Mesajlar
- 1.259
- Çözümler
- 9
Hocam selenium'u kurdum, aşağıya böyle bir kod yazdımÖ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;
Ardınan en yukarıdaki importlara şunları ekliyoruz;Python:pip install selenium #Eğer indirilmemişse pip install webdriver-manager
Sonuç olarak tüm importlar şu şekilde gözükecek;Python:from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager
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.
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()))
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.
Python:
from selenium import webdriver
import time
driver = webdriver.Chrome("C:\chromedriver.exe")
url= ("https://instagram.com")
driver.get(url)
-
Python:
Traceback (most recent call last):
File "C:\Users\gamei\PycharmProjects\pythonProject\main.py", line 1, in <module>
from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'
Process finished with exit code 1
Böyle bir hata almaktayım.
@Mahir Çınar Girgin Hocam bir şekilde yukarıda yazdığım hatayı hallettim fakat şimdi ise
Python:
C:\Users\gamei\PycharmProjects\pythonProject\main.py:4: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome("C:\chromedriver.exe")
Bu hatayı almaktayım ve Instagram sayfası açılıyor fakat 1 saniye sonra kapanıyor.
Son düzenleme: