Selenium Xpath İle Unable to Locate Element hatası

Kodlar:

import csv
from getpass import getpass
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium import webdriver

# Select the driver
driver = webdriver.Firefox()
driver.get("https://twitter.com/login")

#Twitter Log-in
username = driver.find_element_by_xpath('//input[@name="session[username_or_email]"]')
username.send_keys('blabla')

#Twitter password
password = driver.find_element_by_xpath('//input[@name="session[password]"]')
password.send_keys('blabla')

#clicking
password.send_keys(Keys.RETURN)

#Searching hashtag
search_input = driver.find_element_by_xpath('//input[@aria-label="Search query"]')
search_input.send_keys('blabla')
search_input.send_keys(Keys.RETURN)

Hashtag arama kısmına kadar herhangi bir sorun olamadan Twitter’a girebiliyorum ancak, arama kısmı için xpath’i girdiğimde şöyle bir hata veriyor:

NoSuchElementException: Message: Unable to locate element: //input[@aria-label="Search query"]

Twitter’da hasthag aramak istiyorum ancak olmuyor sebebi nedir?

Find öğresi tarama yaptığı için problem çıkartıyor başka bir şey aramaya çalıştığında. Üzerine gelmemesi lazım. Belirli aralıklarla bakmalı.

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

driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement"))
    )
finally:
    driver.quit()

Yukarıda bulunan kodda WebDriverWait ile belirli bir süre kısmı bekletiyor daha sonra aramasını yapıyor.

Konuyla ilgili daha fazla bilgi almak istersen eğer tıkla.

2 Beğeni

hocam çok çok teşekkür ederim. WebDriverWait kullanmadım ancak time.sleep(5) eklemek yeterli oldu. Teşekkürler iyi forumlar.

1 Beğeni