我正试图从商店购买商品,但我希望我可以同时购买多个商品。我制作了一个嵌套字典,其中包含全名,电子邮件等信息。
例如,我去一家网上商店,想同时购买一件夹克和一顶帽子。 “ p”代表打开第一页,“ r”代表打开第二个窗口。我现在所能实现的是,我可以购买第一个产品,并且正在填充所有信息。我输入“ p” 1,然后从字典中转到相应的网站。我也想要'r'2,并且这次要执行2的['product_web']并填写所有相应的全名,电子邮件等。
当我重复从#toevoegen一个篮子中的代码直到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"}}
我不确定这是否是获取所需信息(如Information [p] ['product_web'])的正确方法。如果您有更好的解决方案,我也会使用它。