我正在尝试使用Selenium构建我的第一个脚本,我可能需要一些帮助。
在我的网站上,您可以购买活动门票。因此,只要有一个可用,我就需要我的脚本检查特定价格,然后将其添加到我的购物车。
例如,假设我想在我的购物车中添加15,00€的票:
这是元素:
id="ctl00_ContentMiddle_TicketList1_GridView1_ctl01_Label4”
如何检查此元素是否为“15,00€”?
这是“添加到购物车”元素:
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()
希望有人能指导我朝正确的方向前进:)
祝你好运 马克
答案 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。也许只有在第一个元素根本不包含文本时才想搜索下一个元素。