Python webdriver pop up çıkıyor

Can1234444

Femtopat
Katılım
2 Temmuz 2023
Mesajlar
1
Daha fazla  
Cinsiyet
Erkek
Python webdriver pop up çıkıyor.
WhatsApp'da toplu mesaj gönderme botu yapmaya çalışıyorum ama API. WhatsApp sitesinde pop up çıktığı için işlemler devam edemiyor kodlarım böyle.

Python:
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QTableWidget, QTableWidgetItem, QHBoxLayout, QLabel,QMessageBox
from PyQt5.QtCore import QUrl, Qt.
from selenium import webdriver.
from selenium.webdriver.support.ui import WebDriverWait.
from selenium.webdriver.support import expected_conditions as EC.
from selenium.webdriver.common.by import By.
from selenium.webdriver.common.alert import Alert.

import sys.
import json.

class MainWindow(QWidget):
 def __init__(self):
 super().__init__()
 self.setWindowTitle('Wp bot')
 self.setGeometry(300, 300, 900, 600)

 self.layout = QVBoxLayout()

 self.table = QTableWidget()
 self.table.setRowCount(30)
 self.table.setColumnCount(3)
 self.table.setHorizontalHeaderLabels(['Ad Soyad', 'Tel No', 'Mesaj'])

 self.load_data()

 self.layout.addWidget(self.table)

 button_layout = QHBoxLayout()
 self.button = QPushButton('İşlem')
 self.button.clicked.connect(self.on_button_click)
 button_layout.addWidget(self.button)

 self.save_button = QPushButton('Kaydet')
 self.save_button.clicked.connect(self.save_data)
 button_layout.addWidget(self.save_button)

 self.layout.addLayout(button_layout)

 self.setLayout(self.layout)

 self.table.setSizeAdjustPolicy(QTableWidget.AdjustToContents)
 self.table.horizontalHeader().setStretchLastSection(True)

 chrome_options = webdriver.ChromeOptions()

 self.driver = webdriver.Chrome(options=chrome_options)

 self.driver.get('https://web.whatsapp.com')
 self.show_message('QR kodunu tarayın ve giriş yapın. İşleme başlamak için "İşlem" düğmesine tıklayın')

 def load_data(self):
 try:
 with open('data.json', 'r') as f:
 data = json.load(f)
 for i, row in enumerate(data):
 for j, value in enumerate(row):
 item = QTableWidgetItem(value)
 self.table.setItem(i, j, item)
 except FileNotFoundError:
 pass.

 def save_data(self):
 data = []
 for row in range(self.table.rowCount()):
 row_data = []
 for col in range(self.table.columnCount()):
 item = self.table.item(row, col)
 row_data.append(item.text() if item else '')
 data.append(row_data)
 try:
 with open('data.json', 'w') as f:
 json.dump(data, f)
 self.show_message('Bilgiler başarıyla kaydedildi')
 except IOError:
 self.show_message('Bilgiler kaydedilirken bir hata oluştu')

 def on_button_click(self):
 for row in range(self.table.rowCount()):
 tel_item = self.table.item(row, 1)
 mesaj_item = self.table.item(row, 2)

 if tel_item and mesaj_item and tel_item.text() and mesaj_item.text():
 tel_no = tel_item.text()
 mesaj = mesaj_item.text()
 url = f"https://api.whatsapp.com/send?phone={tel_no}&text={mesaj}"

 self.driver.get(url)

 try:
 action_button = WebDriverWait(self.driver, 60).until(
 EC.presence_of_element_located((By.ID, "action-button"))
 )
 action_button.click()

 next_button = WebDriverWait(self.driver, 60).until(
 EC.presence_of_element_located((By.CSS_SELECTOR, "a._9vcv._9vcx"))
 )
 next_button.click()

 send_button = WebDriverWait(self.driver, 60).until(
 EC.presence_of_element_located((By.CSS_SELECTOR, "button.x1c4vz4f.x2lah0s.xdl72j9.xfect85.x1iy03kw.x1lfpgzf"))
 )
 send_button.click()
 except:
 pass.

 def show_message(self, message):
 message_box = QMessageBox()
 message_box.setText(message)
 message_box.exec_()

if __name__ == '__main__':
 app = QApplication(sys.argv)
 window = MainWindow()
 window.show()
 sys.exit(app.exec_())
 

Dosya Ekleri

  • Ekran görüntüsü 2024-04-25 090638.png
    Ekran görüntüsü 2024-04-25 090638.png
    31,9 KB · Görüntüleme: 32
Son düzenleyen: Moderatör:

Technopat Haberler

Yeni konular

Geri
Yukarı