当前位置: 首页 > 知识库问答 >
问题:

Python硒添加到推车中

田骁
2023-03-14

我正在尝试使用Selenium Python添加到购物车。当我运行代码时,网站显示添加到购物车,然后出现错误。当我转到购物车页面时,它只是说没有项目添加到购物车。我是不是做错什么了?

#add to cart
driver.find_element_by_xpath('//form[@action="/cart/add"]/input[@class="add cart-btn clearfix"]').click()

HTML如下所示:

<div class="product-form-wrapper">
 <form action="/cart/add" method="post" data-money-format="£{{amount}}" id="product-form-4424062369869" class="product-form" >
  <div id="product-variants" class="">
   <div class="select-wrapper">
    <select id="product-select" name="id" class="">  
     <option value="31655905919053">Medium</option>      
     <option value="31655906017357">Large</option>
     <option value="31655906148429">X-Large</option>
    </select>
   </div>
  </div>

  <input type="submit" name="button" class="add cart-btn clearfix" data-text="Add to Cart" value="Add to Cart" />

共有1个答案

万俟鸿波
2023-03-14

对那件事很抱歉。请在此找到网页链接:https://shop.palaceskateboards.com/products/lgylt0oiopch

这是我的密码

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException


#tell location of the webdriver and call it 'driver'
driver = webdriver.Firefox()

#go to website
driver.get('https://shop.palaceskateboards.com/collections/t-shirts')

#click on element
driver.find_element_by_xpath("//*[@id='product-loop']/div[19]").click()                  

#wait for sizedropdown
wait=WebDriverWait(driver, 10)
something=wait.until(EC.presence_of_element_located((By.ID, 'product-select')))

#select size
Select(driver.find_element_by_id('product-select')).select_by_visible_text('Large')

#add to cart
driver.find_element_by_xpath('//form[@action="/cart/add"]/input[@class="add cart-btn clearfix"]').click()

#go to checkout
driver.get('https://shop.palaceskateboards.com/cart')
 类似资料:
  • 我是新手,试图通过在flipkart网站上搜索来制作第一个自动化测试用例,然后搜索手机并单击特定的手机,然后添加到购物车,但它不起作用,得到这个错误硒.common.exceptions.ElementClickInterceptedException:消息:元素点击拦截:元素...在点 (728, 232) 处不可点击。并尝试通过查找css选择器/ xpath / id /名称,它们都没有工作,

  • 问题内容: 单击后,我想重新标记“ 添加到购物车” 按钮,然后将一项添加到购物车, 再添加到购物车中 。 这可能吗? 我有第二个 转到购物车* 按钮的Child-Theme function.php ,并且它正在工作。 * 但是我不知道在将一件商品添加到购物车后如何解决此重新标签问题(商店仅出售一件尺寸不同的商品)。我希望我很清楚。 这是我的代码: 问题答案: 更新: 在下面,您将找到使此重新标记

  • 在商品分类页面上,当有人点击“添加到购物车”时,WooCommerce通过Ajax在此按钮下方添加“查看购物车”。我发现处理这个的脚本是 /assets/js/frontend/add-to-cart.js 现在,我想添加"Procceed to check out",这样某人就可以立即去结账。 这是脚本的输出: 有没有人做过类似的事情?

  • WooCommerce插件添加到购物车每件物品更多的费用。 客户在购物车中选择以下内容: 产品A(大项目)-300美元 产品B(大项目)-500美元 产品C(普通项目)-30美元 产品D(普通商品)-10美元 让我们假设“大项目-正常项目”的规则如下: 大件商品-收费: 20美元/件 正常项目-收费:低于150美元,免费送货;超过150美元,将收取20美元的费用 如何让它自动当点击添加到购物车按钮

  • 我想在单个产品页面中向“添加到购物车”按钮显示产品价值(版本) 我找到了必须编辑的文件:woocommerce\templates\single-product\add-to-cart\external.php 但现在我的“添加到购物车”按钮上什么也没有显示

  • 最初,我选择了一个包(Woo订阅) 然后添加了所有详细信息。 但未提交。 回到网站,所以再次购买我需要选择一个包。所以我选择了这个包,并填写了详细信息,然后转到付款包。 现在在我的购物车中,两个包都存在(即我没有第一次购买就选择的包和最近的包) 如何修复此问题,使最新选定的一个在购物车中,而较早的一个在选定最新的一个后立即删除。 我尝试了这个Woocommerce从购物车中删除所有产品,并将当前产