Я автоматизирую процесс покупки карты Walmart от выбора продукта до завершения процесса оформления заказа. Я использую браузер Chrome без головы для этого в Ruby Selenium. Когда я нажимаю кнопку «Оформить заказ» после добавления товара в корзину, он переходит ко мне на страницу «Ошибка» и возвращает мне заголовок страницы, «Walmart Omnivore», и процесс проверки завершается неудачно, однако процесс оплаты завершается успешно, когда я запускаю браузер. Проблема только в оформлении заказа в автономном браузере.
Я использую
- Рубин 2.4.3
- Selenium Gem: selenium-webdriver-3.5.2
- Chrome версия: версия 67.0.3396.99 (официальная сборка) (64-разрядная версия)
Вот мой код,
require 'selenium-webdriver'
class TestBrowserHeadless
chromePath = "chromedriver.exe" #Chrome browser exe file path
# Selenium::WebDriver::Chrome.driver_path = chromePath
# driver = Selenium::WebDriver.for :chrome, switches: ['--incognito']
# driver.manage.window.maximize
Selenium::WebDriver::Chrome.driver_path = chromePath
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
driver = Selenium::WebDriver.for :chrome, options: options
driver.get "https://www.walmart.com/"
puts driver.title
driver.save_screenshot("test1.png")
sleep 5
search_field = driver.find_element(:id, 'global-search-input')
search_field.click
search_field.send_keys("623649985")
search_field.submit
sleep 5
driver.save_screenshot("test2.png")
puts driver.title
prod_name = driver.find_element(:xpath, "//img[@class='Tile-img']")
prod_name.click
sleep 5
driver.save_screenshot("test3.png")
puts driver.title
puts "Adding item to Cart"
button_addCart = driver.find_element(:xpath, "//button[text()='Add to Cart']")
button_addCart.click
sleep 3
driver.save_screenshot("test4.png")
puts driver.title
checkout_Btn = driver.find_element(:xpath, "//div[@class='Cart-PACModal-POSContainer']/descendant::button[text()='Check Out']")
checkout_Btn.click
driver.save_screenshot("test5.png")
sleep 4
driver.save_screenshot("test6.png")
puts driver.title
puts "success"
end
ПРИМЕЧАНИЕ :: Также я попытался нажать кнопку «Оформить заказ» после входа в систему пользователя walmart и нашел тот же результат