如何使用C#在Selenium WebDriver中单击列表中的项目?
嗨,我需要确认我要点击的物品是否有美元符号,并且没有缺货。所以我使用了这个方法。如果列表中的第一个项目同时满足这两个条件,这个方法就可以了,但是如果第一个项目没有美元符号,它就不会转到第二个项目并单击它,而是失败了。由于我是编程新手,我不知道我是否在代码中犯了任何错误。 我怎样才能纠正这个问题?谢谢 代码: //显示classname为空且已进入循环 案例2输出:如果第一项没有$如何使用C#在Selenium WebDriver中单击列表中的项目?,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,嗨,我需要确认我要点击的物品是否有美元符号,并且没有缺货。所以我使用了这个方法。如果列表中的第一个项目同时满足这两个条件,这个方法就可以了,但是如果第一个项目没有美元符号,它就不会转到第二个项目并单击它,而是失败了。由于我是编程新手,我不知道我是否在代码中犯了任何错误。 我怎样才能纠正这个问题?谢谢 代码: //显示classname为空且已进入循环 案例2输出:如果第一项没有$ Classname: text: Prices varies Classname: text: Prices var
Classname:
text: Prices varies
Classname:
text: Prices varies
Classname:
text: Prices varies...
对页面上的30个项目重复相同的操作,而不是转到第二个项目。内部
FindElement
似乎希望获得与循环项目相关的项目,但实际上它似乎是静态的
这个图书馆不是我的面包和黄油,但这可能是它吗:
IWebElement itemWithDollarSign = item.FindElement(By.CssSelector("div[class='item-preview-text']>div[class='price']"));
我会在“string className=item.GetAttribute…”行上放置一个断点,并确保它满足以下if语句。是的,我尝试在不同的位置使用console.writeline来检查它是否将类名设为空,以及它是否为$获取文本和验证。我已经更新了使用打印和文本输出的代码。我可能没有正确读取您的代码,但它出现在行中,driver.findelelement(By.CssSelector(“div[class='item-preview-text']>div[class='price'])代码>从不更改,因此它将始终找到满足条件的相同第一项。是的,它实际上再次查找相同的项。但根据foreach循环,列表中的每个项目都不一样,请查找此代码。因为对于列表中的所有30项,这是查找$sign的代码。你认为那时候foreach没有被执行吗?你能告诉我其他的方法来写这个概念吗?哇,太棒了。我的代码现在可以工作了。它选择第二项。非常感谢你。我知道它应该和物品有关,但不知道这是怎么做的。再次感谢。
Classname:
text: Prices varies
Classname:
text: Prices varies
Classname:
text: Prices varies...
IWebElement itemWithDollarSign = item.FindElement(By.CssSelector("div[class='item-preview-text']>div[class='price']"));