如何在selenium java中单击轮播中的链接?

问题描述 投票:0回答:1

请参阅此链接:https://bluelinetourpackage.com/Web 里面有一个“了解更多”按钮,每次我使用 xpath 并单击使用 selenium java 时,它都不会执行任何操作。任何人请帮助我是学习 selenium java 的学生

driver.findElement(By.xpath("/html[1]/body[1]/section[2]/div[1]/div[1]/div[1]/div[1]/a[1]")).click();

这是我的代码,用于单击它不起作用的链接

我获取了 xpath 并放入了 findelement 代码,但它不起作用

java selenium-webdriver xpath carousel
1个回答
0
投票

不要使用完整的 xpath,这是不好的做法。尝试使用指向您的元素的唯一定位器。

在您的情况下,旋转木马有几个项目。项目的类别是

carousel-item
。 当项目出现在视口中时,它会获得额外的类
active
。 所以当前可见项目的定位器是
.carousel-item.active

唯一剩下的是按钮定位器。按钮实际上是单个

a
,位于容器中,带有一些
href

现在我们获得了活动项目的完整唯一定位器,它是

.carousel-item.active a[href]

WebDriverWait wait = new WebDriverWait(driver, 10);
driver.get("https://bluelinetourpackage.com/Web");

WebElement button = wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".carousel-item.active a[href]")));
button.click();
© www.soinside.com 2019 - 2024. All rights reserved.