При поиске определенного элемента как ответ получаю False, хотя должен получать True Selenium WebDriver
Код ищет по названию акции, её на сайте. Сам код:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def Enable_module(driver, Stocks):
try:
Element_Stocks = driver.find_element(By.XPATH, "//div[@class='sScreenerResultsCont js-stock-screener-results']")
Search = WebDriverWait(driver, 10).until((EC.element_to_be_clickable(Element_Stocks.find_element(By.LINK_TEXT, Stocks))))
return True
except:
return False
def Replace_module(iterable):
STR_1 = "//a[@onclick='stockScreenerPaginationClick(2)']"
New_String = STR_1.replace("2", str(iterable))
return New_String
def Searching_module(driver, Stocks):
# Getting the number of elements
Count_element = len(driver.find_elements_by_xpath("//a[@class='pagination']"))
CE = range(Count_element + 1)
for i in CE:
Search = Enable_module(driver, Stocks)
print('Да чи нет ?', Search)
if Search == True:
Element_Stocks = driver.find_element(By.XPATH, "//div[@class='sScreenerResultsCont js-stock-screener-results']")
Searching = WebDriverWait(driver, 10).until((EC.element_to_be_clickable(Element_Stocks.find_element(By.LINK_TEXT, Stocks)))).click()
Web_App_Site = driver.current_url()
return Web_App_Site
break
else:
Find_Swicher = driver.find_element(By.XPATH, "//div[@id='paginationWrap']")
iterable = i + 2
Module_Replacer = Replace_module(iterable)
Swicher = WebDriverWait(driver, 10).until((EC.element_to_be_clickable(Find_Swicher.find_element(By.XPATH, Module_Replacer))))
Swicher.click()
def Parser():
# Driver, with open URl address
URL = 'https://ru.investing.com/stock-screener/?sp=country::56|sector::a|industry::a|equityType::a|exchange::40%3Ceq_market_cap;1'
driver = webdriver.Chrome(r'C:\Users\nasta\Desktop\Parcer\Chrome_Driver\chromedriver.exe')
driver.get(URL)
# Wait
driver.implicitly_wait(1)
# Open TMP file Stocks.txt
with open(r"C:\Users\nasta\Desktop\Parcer\TMP\Stocks.txt") as file:
Stocks = file.readline()
# Searching module
Web_App_Site = Searching_module(driver, Stocks)
print(Web_App_Site)
Момент где у меня выходт не правильный ответ, при поиске selenium должен на 2 странице выдавать True (P.S. ищу акцию сбера), но выдает False Тот самый момент:
def Enable_module(driver, Stocks):
try:
Element_Stocks = driver.find_element(By.XPATH, "//div[@class='sScreenerResultsCont js-stock-screener-results']")
Search = WebDriverWait(driver, 10).until((EC.element_to_be_clickable(Element_Stocks.find_element(By.LINK_TEXT, Stocks))))
return True
except:
return False