Çözüm Python Selenium butona tıklatma hatası nasil cozulur?

Bu konu bir çözümü açıklamaktadır. Herhangi bir çözüm açıklanmadığını düşünüyorsanız konuyu rapor edebilirsiniz.

Rhanta

Kilopat
Katılım
8 Ocak 2019
Mesajlar
601
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar selamlar, Python ile bir web otomasyonu yapıyorum fakat şöyle bir sorun var ki tüm çözüm yollarını denememe rağmen hiçbir şekilde aşağıdaki resimde "New Google Ads Account" yazan kısıma tıklamasını istiyorum fakat hiç bir yöntem işe yaramadı. Yabancı forumdan bir arkadaş aşağıdaki kodları yazmamı fakat benim kullandığım sistem böyle değil maalesef, yine Selenium altyapısını kullanıyorum. Bu konuda yardımcı olursanız çok sevinirim.


Yabancı arkadaşın kod önerisi ;

Python:
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
from selenium.webdriver import ChromeOptions

options = ChromeOptions()
options.add_argument("--headless")

with webdriver.Chrome(options=options) as driver:
    driver.get("https://www.youtube.com/ads/")
   
    wait = WebDriverWait(driver, 5)
    selector = By.CSS_SELECTOR, "button.glue-cookie-notification-bar__reject"
    try:
        wait.until(EC.element_to_be_clickable(selector)).click()
    except Exception:
        pass
    selector = By.CSS_SELECTOR, 'a[data-g-cta-name="promote-your-channel"]'
    wait.until(EC.element_to_be_clickable(selector)).click()

Benim kodlarım ;

Python:
import pyanty as dolphin
from pyanty import DolphinAPI, STABLE_CHROME_VERSION
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.chrome.options import Options

(Bu kısım profil açıyor DolphinAnty üzerinden)
profile_id = api.create_profile(data)['browserProfileId']
response = dolphin.run_profile(profile_id)
port = response['automation']['port']

(Bu kısım ise profil açıldıktan sonra Browser başlatıyor)
driver = dolphin.get_driver(port=port)
driver.maximize_window()

@brkdnmz Bu konuda bilginiz var mı hocam?
 
Son düzenleme:
... aşağıdaki resimde "New Google Ads Account" yazan kısma tıklamasını istiyorum.

Resmi paylaşmayı unuttunuz sanırım. https://www.youtube.com/ads/ sayfasında öyle bir kısım göremedim.

Yabancı arkadaşın kod önerisi:

Python:
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
from selenium.webdriver import ChromeOptions

options = ChromeOptions()
options.add_argument("--headless")

with webdriver.Chrome(options=options) as driver:
    driver.get("https://www.youtube.com/ads/")

    wait = WebDriverWait(driver, 5)
    selector = By.CSS_SELECTOR, "button.glue-cookie-notification-bar__reject"
    try:
        wait.until(EC.element_to_be_clickable(selector)).click()
    except Exception:
        pass
    selector = By.CSS_SELECTOR, 'a[data-g-cta-name="promote-your-channel"]'
    wait.until(EC.element_to_be_clickable(selector)).click()

https://www.youtube.com/ads/ sayfasında glue-cookie-notification-bar__reject sınıfına sahip bir butona rastlamadım. Bu yüzden bu script bende hata veriyor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı