Selenium同时运行不同的脚本

时间:2019-05-14 14:41:37

标签: python selenium

我正试图从商店购买商品,但我希望我可以同时购买多个商品。我制作了一个嵌套字典,其中包含全名,电子邮件等信息。

例如,我去一家网上商店,想同时购买一件夹克和一顶帽子。 “ 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'])的正确方法。如果您有更好的解决方案,我也会使用它。

0 个答案:

没有答案