import feedparser
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# Instagram kullanıcı adı ve şifre
USERNAME = "username"
PASSWORD = "password"
# RSS beslemesi URL'si
RSS_FEED_URL = "https://rss.haberler.com/rss.asp"
# Instagram web sitesi URL'si
INSTAGRAM_URL = "https://www.instagram.com/"
INSTAGRAM_URLs = "https://www.instagram.com/accounts/onetap/?next=%2F"
# Selenium sürücüsünü başlatma
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
options.add_argument("--disable-notifications")
driver = webdriver.Chrome(options=options)
# Instagram'a giriş yapma fonksiyonu
def login_to_instagram(username, password):
driver.get(INSTAGRAM_URL)
# Sayfanın tam yüklenmesini bekleyin
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "username")))
driver.find_element(By.NAME, "username").send_keys(username)
driver.find_element(By.NAME, "password").send_keys(password)
driver.find_element(By.NAME, "password").submit()
# Giriş düğmesini bulmak için bir süre daha bekleyin
WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Giriş Yap')]"))).click()
time.sleep(15) # Giriş işleminin tamamlanmasını bekleyin
# RSS beslemesinden veri çekme fonksiyonu
def fetch_rss_feed(rss_feed_url):
feed = feedparser.parse(rss_feed_url)
latest_entry = feed.entries[0]
title = latest_entry.title
content = latest_entry.summary
return title, content
# Instagram'a gönderi yapma fonksiyonu
def post_to_instagram(title, content):
driver.get(INSTAGRAM_URLs)
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Şimdi değil')]"))).click()
driver.get(INSTAGRAM_URL)
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Yeni Gönderi')]"))).click()
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Gönderi')]"))).click()
driver.find_element(By.TAG_NAME, "textarea").send_keys(f"{title}\n\n{content}") # Başlık ve içeriği gönderiye yaz
driver.find_element(By.XPATH, "//button[contains(text(), 'Paylaş')]").click() # Paylaş düğmesine tıkla
# Instagram'a giriş yap
login_to_instagram(USERNAME, PASSWORD)
# RSS beslemesinden veri çek
title, content = fetch_rss_feed(RSS_FEED_URL)
# Instagram'a gönderi yap
post_to_instagram(title, content)
# Tarayıcıyı kapat
driver.quit()bu kodda giriş yapıyor fakat gönderi oluştur butonuna tıklamıyor yardımcı olabilir misiniiz?
Python Selenium
6
●136
- 09-05-2024, 16:35:09
- 09-05-2024, 17:18:18
import feedparser from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time import os # Instagram kullanıcı adı ve şifre USERNAME = "username" PASSWORD = "password" # RSS beslemesi URL'si RSS_FEED_URL = "https://rss.haberler.com/rss.asp" # Instagram web sitesi URL'si INSTAGRAM_URL = "https://www.instagram.com/" INSTAGRAM_URLs = "https://www.instagram.com/accounts/onetap/?next=%2F" # Selenium sürücüsünü başlatma options = webdriver.ChromeOptions() options.add_argument("--start-maximized") options.add_argument("--disable-notifications") driver = webdriver.Chrome(options=options) # Instagram'a giriş yapma fonksiyonu def login_to_instagram(username, password): driver.get(INSTAGRAM_URL) # Sayfanın tam yüklenmesini bekleyin WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "username"))) driver.find_element(By.NAME, "username").send_keys(username) driver.find_element(By.NAME, "password").send_keys(password) driver.find_element(By.NAME, "password").submit() # Giriş düğmesini bulmak için bir süre daha bekleyin WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Giriş Yap')]"))).click() time.sleep(15) # Giriş işleminin tamamlanmasını bekleyin # RSS beslemesinden veri çekme fonksiyonu def fetch_rss_feed(rss_feed_url): feed = feedparser.parse(rss_feed_url) latest_entry = feed.entries[0] title = latest_entry.title content = latest_entry.summary return title, content # Instagram'a gönderi yapma fonksiyonu def post_to_instagram(title, content): driver.get(INSTAGRAM_URLs) WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Şimdi değil')]"))).click() driver.get(INSTAGRAM_URL) WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[text()='Oluştur')]"))).click() file_path = "/path/to/your/image.jpg" # Yüklemek istediğiniz resmin yolunu buraya girin # Dosya yükleme alanını bul upload_input = driver.find(By.XPATH,"//input[@type='file']") # Dosyayı yükle upload_input.send_keys(os.path.abspath(file_path)) WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='İleri')]"))).click() WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='İleri')]"))).click() WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='Paylaş')]"))).click() driver.find_element(By.TAG_NAME, "textarea").send_keys(f"{title}\n\n{content}") # Başlık ve içeriği gönderiye yaz driver.find_element(By.XPATH, "//button[contains(text(), 'Paylaş')]").click() # Paylaş düğmesine tıkla # Instagram'a giriş yap login_to_instagram(USERNAME, PASSWORD) # RSS beslemesinden veri çek title, content = fetch_rss_feed(RSS_FEED_URL) # Instagram'a gönderi yap post_to_instagram(title, content) # Tarayıcıyı kapat driver.quit() - 09-05-2024, 17:20:14shms adlı üyeden alıntı: mesajı görüntüle
DevTools listening on ws://127.0.0.1:50174/devtools/browser/1781bae4-d8ef-4e52-b976-5259ab52b684 Created TensorFlow Lite XNNPACK delegate for CPU. Traceback (most recent call last): File "c:\Users\Yusuf\Desktop\TREE\Haber Bot\bot.py", line 83, in <module> login_to_instagram(USERNAME, PASSWORD) File "c:\Users\Yusuf\Desktop\TREE\Haber Bot\bot.py", line 39, in login_to_instagram WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Giriş Yap')]"))).click() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Yusuf\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py", line 105, in until raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message: Stacktrace: GetHandleVerifier [0x00007FF7A97E1572+60802] (No symbol) [0x00007FF7A975AC72] (No symbol) [0x00007FF7A9617CE4] (No symbol) [0x00007FF7A9666D4D] (No symbol) [0x00007FF7A9666E1C] (No symbol) [0x00007FF7A96ACE37] (No symbol) [0x00007FF7A968ABBF] (No symbol) [0x00007FF7A96AA224] (No symbol) [0x00007FF7A968A923] (No symbol) [0x00007FF7A9658FEC] (No symbol) [0x00007FF7A9659C21] GetHandleVerifier [0x00007FF7A9AE420D+3217949] GetHandleVerifier [0x00007FF7A9B261A7+3488183] GetHandleVerifier [0x00007FF7A9B1F12F+3459391] GetHandleVerifier [0x00007FF7A989B936+823622] (No symbol) [0x00007FF7A976600F] (No symbol) [0x00007FF7A9760F34] (No symbol) [0x00007FF7A97610C2] (No symbol) [0x00007FF7A9751914] BaseThreadInitThunk [0x00007FFCA67F257D+29] RtlUserThreadStart [0x00007FFCA6FAAA48+40] PS C:\Users\Yusuf>
