Я пытаюсь взаимодействовать с веб-сайтом Lowes (https://www.lowes.com/) с помощью Selenium и ChromeDriver. После загрузки домашней страницы я хочу изменить местоположение, но не могу взаимодействовать с веб-сайтом. Нажав накнопка изменения местоположения, как вручную, так и через Selenium, приводит к загрузке страницы навсегда и, в конечном счете, к возникновению исключения TimeOutException. Любые идеи о том, почему это может иметь место, и что можно сделать, чтобы решить проблему?
Я имеюзагрузил веб-сайт и нормально взаимодействовал с ним, когда я загружал его вручную с помощью Google Chrome, Mozilla Firefox и Internet Explorer, поэтому я не думаю, что это проблема только с веб-сайтом.
Я также использовал Seleniumи ChromeDriver для загрузки и взаимодействия с более чем 40 другими веб-сайтами без каких-либо проблем, поэтому я не верю, что это проблема с Selenium / ChromeDriver / Chrome и любыми проблемами несовместимости версий. Мой Chrome - версия 71.0.3578.98 и моя версия драйвера71.0.3578.137. Я запускаю свой сценарий (показанный ниже) в Windows NT6.1.761 SP1 x86_64 с Spyder на Python 3.6.
Код, который я запускаю, выглядит следующим образом:
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
import time
def click_button(x_path)
button = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.XPATH, x_path)))
button = driver.find_element_by_xpath(x_path)
button.click()
time.sleep(2)
pass
#the issue persists with and without the commented lines
url = 'https://www.lowes.com/'
try:
#options = webdriver.ChromeOptions()
#options.add_argument("start-maximized")
#options.add_argument("disable-infobars")
#options.add_argument("--disable-extensions")
driver = webdriver.Chrome('C://Temp//chromedriver.exe') #,options=options)
#driver.implicitly_wait(30)
driver.get(url)
except Exception as e:
print(e)
#The following code hasn't worked, nor has manually interacting with the website at this point
sign_up_save_close = '//*[@id="emailSignUpDialog"]/div[2]/div/div/div/button
button_click(sign_up_save_close)
find_store_x_path = '//*[@id="currentStoreWrapper"]/div/div[2]/div[2]/a'
button_click(find_store_x_path)
Я подозреваю, что это может быть связано с уникальным взаимодействием веб-сайта сChromeDriver.
Я выяснил, знал ли веб-сайт, что с ним взаимодействует ChromeDriver, но не было никаких признаков того, что веб-сайт действительно обнаруживает ChromeDriver, и даже с настраиваемой опцией, как показано выше, эта проблема сохранялась.
Я пытался запустить его в Firefox с помощью geockdriver, но я не смог заставить моего geckodriver работать.Тем не менее, я хочу сохранить этот вопрос о Chrome.
Есть идеи?
РЕДАКТИРОВАТЬ: Я добавлю код для обработки зарегистрироваться и сохранить, но всплывающее окно не проблема,Как я уже сказал, я пытался взаимодействовать с сайтом как вручную, так и с помощью кода.Нажатие на Find a Store заканчивается загрузкой сайта навсегда.Я также открыт для других решений доступа к страницам продуктов на этом веб-сайте в определенных местах.