Я пытаюсь провести анализ данных на веб-сайте.Я использую селен с webdriver внутри цикла for
.Проблема в том, что мой код дает сбой, когда я настраиваю его на ожидание.
На веб-сайте вам нужно нажать на изображение, которое отправит заказ, чтобы дать вам файл.В случае Firefox вам нужно указать, хотите ли вы скачать или сохранить его.Это уже решено, однако когда дело доходит до перехода на следующий веб-сайт, происходит сбой.
Проблема в том, что последняя строка приводит к TypeError: 'str' object is not callable
.
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
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", "D:path")
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.google-earth.kml+xml")
for i in urls['tubicacion']:
driver = webdriver.Firefox(firefox_profile=profile,
executable_path=r'path\geckodriver-v0.24.0-win64\geckodriver.exe')
driver.maximize_window()
driver.get(i)
elemen = driver.find_element_by_xpath('//*[@id="GOOGLE"]').click()
driver.implicitly_wait(0)
follow = WebDriverWait(driver,5).until(EC.invisibility_of_element_located(By.XPATH('//*[@id="GOOGLE"]'))).click().close()
У меня также естьпробовал последнюю строку как:
WebDriverWait(driver,5).until(EC.invisibility_of_element_located(By.XPATH('//*[@id="GOOGLE"]').text)).click().close()