gpt4 book ai didi

java - 为什么 selenium 只点击第一行代码而不点击其他两行?

转载 作者:行者123 更新时间:2023-11-30 10:08:30 24 4
gpt4 key购买 nike

我首先测试了第一行代码是否可以单击 XPath 是否有效,但是当我添加第二行代码以单击 By.name() 时它不起作用,所以我尝试更改 XPath 然后在 CSS 选择器中,但它只点击第一个(XPath 代码行)。我试过了,但它似乎没有点击其他两个元素。我发现它只点击第一页上的内容,与新页面上的内容无关紧要,我告诉我点击我想做的元素。我使用的是 Selenium 版本 3.141.59

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\ae65255\\Desktop\\java_gui\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://shop.palaceskateboards.com/collections/new");
driver.findElement(By.xpath("//*[@id=\"product-loop\"]/div[@data-alpha='S-LINE JOGGER BLACK']")).click(); //only this one work
driver.findElement(By.name("button")).click(); //second click dosen't work?
driver.findElement(By.linkText("Cart")).click(); //this dosen't work too?
}

最佳答案

在定位元素之前添加一些等待让页面加载

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement button = wait.until(ExpectedConditions.elementToBeClickable(By.name("button")));
button.click();

第三个定位器 By.linkText("Cart") 不起作用,因为按钮没有 Cart 文本,它在 data- textvalue 属性。

作为旁注,您应该在查找部分文本时使用 By.partialLinkText()

关于java - 为什么 selenium 只点击第一行代码而不点击其他两行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com