gpt4 book ai didi

java - 如何使用 selenium 处理 Phptravels.net 网站上的下拉菜单

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:16 24 4
gpt4 key购买 nike

我在 https://www.phptravels.net/ 上的下拉菜单句柄上遇到一些大问题网站。

我编写了这个测试,但它不起作用,而且我不知道如何正确执行它。

public class HomePage {

private Logger logger = LogManager.getRootLogger();

@FindBy(xpath = "//*[@id=\"li_myaccount\"]/ul")
private WebElement dropDownMenu;

@FindBy(xpath = "//*[@id=\"li_myaccount\"]/ul/li")
private WebElement dropDownMenuOptions;

public HomePage() {
PageFactory.initElements(DriverManager.getWebDriver(), this);
}

public void clickOnMyAccountDropMenuAndSelectOption(String option) {
WaitForElement.waitUntilElementIsVisible(dropDownMenu);
dropDownMenu.click();

List<WebElement> options = DriverManager.getWebDriver().findElements(By.xpath("//*[@id=\"li_myaccount\"]/ul/li"));

for(WebElement o: options) {
if(o.getText().equals(option)) {
o.click();
return;
}
}
}

public void clickOnLoginLink() {
WaitForElement.waitUntilElementIsClickable(loginLink);
loginLink.click();
logger.info("Clicked on Login link");
}
}

我的问题是,我应该如何更改 clickOnMyAccountDropMenuAndSelectOption 方法以使测试正确?感谢您的帮助!

最佳答案

试试这个:

public class HomePage {

private Logger logger = LogManager.getRootLogger();

@FindBy(xpath = "//nav//*[@id='li_myaccount']/a")
private WebElement dropDownMenu;

@FindBy(xpath = "//nav//*[@id='li_myaccount']/ul/li/a")
private WebElement dropDownMenuOptions;

public HomePage() {
PageFactory.initElements(DriverManager.getWebDriver(), this);
}

public void clickOnMyAccountDropMenuAndSelectOption(String option) {
WaitForElement.waitUntilElementIsVisible(dropDownMenu);
dropDownMenu.click();

Thread.sleep(2000); // wait 2 seconds until dropdown loads
List<WebElement> options = DriverManager.getWebDriver().findElements(By.xpath("//nav//*[@id='li_myaccount']/ul/li/a"));

for(WebElement o: options) {
if(o.getText().equals(option)) {
o.click();
return;
}
}
}

public void clickOnLoginLink() {
WaitForElement.waitUntilElementIsClickable(loginLink);
loginLink.click();
logger.info("Clicked on Login link");
}
}

您的 xPaths 不正确。我已经修复了它们。

关于java - 如何使用 selenium 处理 Phptravels.net 网站上的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51142664/

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