Java 从随机链接中寻找选择器
我不知道如何找到被点击的项目链接。 我有网页,我选择产品并去比较产品,我使用随机点击“添加到购物车”,我需要检查我点击“添加到购物车”的物品的价格是否与购物车中的价格相同Java 从随机链接中寻找选择器,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,我不知道如何找到被点击的项目链接。 我有网页,我选择产品并去比较产品,我使用随机点击“添加到购物车”,我需要检查我点击“添加到购物车”的物品的价格是否与购物车中的价格相同 public void chooseRandomItem() { List <WebElement> links = driver.findElements(By.xpath("//input[@value = \"Add to Cart\"]")); Random gen = new Random
public void chooseRandomItem() {
List <WebElement> links = driver.findElements(By.xpath("//input[@value = \"Add to Cart\"]"));
Random gen = new Random();
WebElement link = links.get(gen.nextInt(links.size()));
link.click();
public void chooseRandomItem(){
List links=driver.findElements(By.xpath(//input[@value=\“Add to Cart\”]);
Random gen=新的Random();
WebElement link=links.get(gen.nextInt(links.size());
link.click();
这是工作,但现在我不知道哪个“添加到购物车”被点击了,我无法在购物车中与价格竞争。我应该如何解决它
________________________更新__________________________
要模拟:
现在我选择了随机链接,我必须将这个随机项目的价格与购物车中的价格进行比较,因为这都在一个HTML表格中,这使它变得有点困难。我要做的是:
totColumns
)。通过计算HTML表中TR
中的TD
来完成此操作
totColumns
之间的随机数(r
)r
中获取价格,然后单击列r
中的“添加到购物车”链接。您知道哪一行包含价格,只需从该行抓取TD
#r
。对“添加到购物车”链接行执行相同操作,然后单击它编辑:在考虑了更多并添加了一些详细信息之后,做了一些细微的更改。我只想提一下,我会将链接和价格(甚至更多信息)包装到一种产品ui元素中,以获得更好的代码结构 首先,你收集所有产品,并随意选择一个。其次,你获取这个具体产品的信息
var products = WebDriver.FindAdaptedElements(By.CssSelector("div.product-thumb"));
// do your random selection
var product = products.ElementAt(???); // do your random selection
// get product related elements - the price:
var price = product.FindAdaptedElement(By.CssSelector("p.price")).Text;
// add to cart
product.FindAdaptedElement(By.CssSelector("div.button-group>button")).Click();
// .. do the checks ..
在下一步中,您可以使用价格变量(字符串)验证该产品的正确金额。我对您的方案感到困惑。您最初表示您单击了“添加到购物车”但是我不确定你点击了哪一个来与购物车中的价格进行比较,但更新的部分是关于产品比较的。请澄清你的情况并更新步骤好吗?谢谢。好的,对不起,也许我不准确。我正确的情况在更新部分。我停止了比较价格。第一篇文章中的代码选择了随机项目从比较项目并单击“添加到购物车”。执行此操作时,购物车中有关于此购物车中项目价值的信息。我现在需要比较随机添加到购物车中的项目的价格和“上”的价格cartI并不真的同意这种“点击随机事件”的方法,因为你如何才能真正验证结果?你应该确保你需要的数据存在(加载它,否则清除并重新创建),自信地点击真实的东西,这样就可以完全验证。你能告诉我更多的方法吗?添加了一些细节,并稍微更改了逻辑,使其更简单。