【问题标题】:Auto add-to-cart script for SeleniumSelenium 的自动添加到购物车脚本
【发布时间】:2018-04-26 05:42:45
【问题描述】:

我正在尝试使用 Selenium 构建我的第一个脚本,我可能需要一些帮助。

您可以在我的网站上购买活动门票。因此,只要有一个可用,我就需要我的脚本来检查特定价格,然后将其添加到我的购物车中。

例如,假设我想将 15,00 欧元的门票添加到我的购物车中:

  1. 检查列表的第一行以查找包含“15,00 €”的元素

这是元素:

id="ctl00_ContentMiddle_TicketList1_GridView1_ctl01_Label4”

如何检查该元素中的文本“15,00 €”?

  1. 如果按钮包含正确的价格,我希望脚本点击旁边的添加到购物车按钮:

这是添加到购物车的元素:

id="ctl00_ContentMiddle_TicketList1_GridView1_ctl01_LinkButton1”

如果找不到价格,应该检查列表中的第二行,所以

id="ctl00_ContentMiddle_TicketList1_GridView1_ctl02_Label4”

如果正确,请点击

id="ctl00_ContentMiddle_TicketList1_GridView1_ctl02_LinkButton1”

您将如何在代码中编写此代码?这是我写下的第一件事,但我想它离正确的轨道还很远:

browser = webdriver.Chrome()
browser.get((‘URL’))

Price = browser.find_element_by_id(‘ctl00_ContentMiddle_TicketList1_GridView1_ctl01_Label4”>15,00 €’)

if elem.is_displayed():

Add = browser.find_element_by_id(‘ctl00_ContentMiddle_TicketList1_GridView1_ctl01_LinkButton1’)
Add.click()

希望有人能指引我正确的方向:)

最好的问候 马克

【问题讨论】:

    标签: javascript python selenium


    【解决方案1】:

    检查 WebElement 的文本就像听起来一样简单。在你的情况下:

    Price.text;
    

    之后,您可能需要一个 IF 来确定您的文本是否有价值:

    if Price.text != "15"
    {
        //Click add to cart
    }
    
    else
    {
        //Search for the other element and get text, then check if its "15" etc.
    {
    

    这里唯一的问题是第一个元素的文本是否是,例如13、是否要搜索下一项。根据您的需要调整上面的 IF。也许您只想在第一个元素根本不包含文本时才搜索下一个元素。

    【讨论】:

    • 请记住,我不是在 python 中编写 selenium,我也不是很了解该语言,上面的代码是一个通用指南,所以如果有任何语法问题,请不要灰心。只需在您的 IDE 上更正它们即可。
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多