gpt4 book ai didi

java - 获取正确的搜索结果页码 - Selenium Java

转载 作者:行者123 更新时间:2023-12-02 06:10:28 26 4
gpt4 key购买 nike

我正在尝试获取西雅图的正确页码,即 7,然后单击从 1 到 7 的每个页面。我有 2 个问题,请参阅下面带星号 ** 的部分:

1) 我不知道如何编写 xpath 以便得到 7 而不是 11

2)while循环是无限循环

public class Job {

public static WebDriver driver;

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Shahriar\\Downloads\\chromedriver_win32\\chromedriver.exe");
driver= new ChromeDriver();
driver.get("https://web.expeditors.com/careers/#/listTop");
driver.manage().window().maximize();

//Disable the cookie notification at bottom
driver.findElement(By.xpath("//a[@id='hs-eu-decline-button']")).click();

// Find more cities and scroll down
driver.findElement(By.xpath("//a[@id='moreCity']")).click();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0,5500)", "");

//Locate US-Seattle and click and verify
driver.findElement(By.xpath("//label[@class='ng-binding']//input[@id='us~Seattle']")).click();
String state=driver.findElement(By.xpath("//a[contains(text(),'United States - Seattle')]")).getText();
Assert.assertEquals(state, "United States - Seattle");

**//Number of search pages found should be 7
List<WebElement> resultPages=driver.findElements(By.xpath("//a[@href='#listTop']"));
Assert.assertEquals(7, resultPages.size());**

**//Go to each page by clicking on page number at bottom
int count=0;
WebElement next_button=driver.findElement(By.xpath("//a[@ng-click='setCurrent(pagination.current + 1)']"));
while (resultPages.size()!=0){
next_button.click();
count++;
System.out.println("Current page is "+ count);
}**
//driver.close();
}
}

我需要一些帮助。预先感谢您的宝贵时间。

最佳答案

这是您需要的逻辑。

//Number of search pages found should be 7
List<WebElement> resultPages=driver.findElements(By.xpath("//a[@href='#listTop' and @ng-click='setCurrent(pageNumber)']"));
Assert.assertEquals(7, resultPages.size());

for (int i = 1; i <= resultPages.size(); i++) {
driver.findElement(By.xpath("(//a[@href='#listTop' and @ng-click='setCurrent(pageNumber)'])[" + i +"]")).click();
System.out.println(driver.findElement(By.xpath("(//a[@href='#listTop' and @ng-click='setCurrent(pageNumber)'])[" + i +"]")).getText());
}

关于java - 获取正确的搜索结果页码 - Selenium Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55911353/

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