Selenium的自动添加到购物车脚本

时间:2017-11-13 13:59:01

标签: javascript python selenium

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

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

例如,假设我想在我的购物车中添加15,00€的票:

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

    这是元素:

    id="ctl00_ContentMiddle_TicketList1_GridView1_ctl01_Label4”
    

    如何检查此元素是否为“15,00€”?

    1. 如果按钮包含正确的价格,我希望脚本单击旁边的“添加到购物车”按钮:
    2. 这是“添加到购物车”元素:

      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()
      

      希望有人能指导我朝正确的方向前进:)

      祝你好运 马克

1 个答案:

答案 0 :(得分:0)

检查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。也许只有在第一个元素根本不包含文本时才想搜索下一个元素。