Я пытаюсь купить предметы в магазине, но хочу, чтобы я мог покупать несколько предметов одновременно.Я создал вложенный словарь с такой информацией, как полное имя, адрес электронной почты ....
Например, я захожу в интернет-магазин и хочу купить куртку и шапку одновременно.«P» означает открытие первой страницы, а «r» - открытие второго окна.То, чего я добиваюсь сейчас, - это то, что я могу купить первый продукт, и он заполняет всю информацию.Я ввожу 'p' 1 и из словаря переходит на соответствующий сайт.Я также хочу 'r' 2, и на этот раз выполняется ['product_web'] из 2 и заполняется все соответствующее полное имя, адрес электронной почты и т. Д.
Когда я повторяю код из #toevoegen aan basket доbetalen и замените 'p' на 'r', я получаю ошибку.
Я знаю, что происходит с ошибкой, и не могу ее решить, и поэтому я задаю этот вопрос.
selenium.common.exceptions.ElementClickInterceptedException: Сообщение: щелчок элемента перехвачен:
driver = webdriver.Chrome(r'C:\Users\XXXX\OneDrive\Desktop\chromedriver.exe')
driver.get(Information[p]['product_web'])
driver.execute_script("window.open('" + Information[r]['product_web'] +"');")
# toevoegen aan basket
driver.find_element_by_xpath('//input[@name="commit"]').click()
time.sleep(2)
# check out
driver.find_element_by_xpath('//*[@id="cart"]/a[2]').click()
#full name
driver.find_element_by_xpath('//*[@id="order_billing_name"]').send_keys(Information[p]['naam'])
#email
driver.find_element_by_xpath('//*[@id="order_email"]').send_keys(Information[p]['email'])
#telefoon
driver.find_element_by_xpath('//*[@id="order_tel"]').send_keys(Information[p]['telefoonnummer'])
# adres
driver.find_element_by_xpath('//*[@id="bo"]').send_keys(Information[p]['straat'])
# stad
driver.find_element_by_xpath('//*[@id="order_billing_city"]').send_keys(Information[p]['stad'])
# postcode
driver.find_element_by_xpath('//*[@id="order_billing_zip"]').send_keys(Information[p]['postcode'])
# land kiezen
selecteren1 = Select(driver.find_element_by_id("order_billing_country"))
selecteren1.select_by_value("NL")
# paypal kiezen
selecteren = Select(driver.find_element_by_id("credit_card_type"))
selecteren.select_by_value("paypal")
# Akkoord gaan
driver.find_element_by_xpath('//*[@id="cart-cc"]/fieldset/p/label/div/ins').click()
# betalen
driver.find_element_by_xpath('//*[@id="pay"]/input').click()
```Information = {
1:{"product_web":"https://",
"naam":"FFFF",
"straat":"MSTRAAT",
"email":"TEST@live.nl",
"stad":"AMSTERDAM",
"postcode":"3182FF",
"telefoonnummer":"0912310.."},
2:{"product_web":"https://",
"naam":"GGG",
"straat":"GSTRAAT",
"email":"NP@live.nl",
"stad":"ROTTERDAM",
"postcode":"4921BE",
"telefoonnummer":"0511543210"}}
Я не уверен, что это правильный подход для получения необходимой информации, такой как Информация [p] ['product_web'].Если у вас есть лучшее решение, я тоже буду его использовать.