gpt4 book ai didi

selenium - Xpath 不适用于 Selenium 中的 MouseOver(CatMenu)

转载 作者:行者123 更新时间:2023-11-28 21:25:10 25 4
gpt4 key购买 nike

对于无法打开鼠标悬停菜单的所有 Web 驱动程序,存在关于 Selenium 的问题。虽然对元素 Web 驱动程序的 Xpath 进行了评估,但无法打开鼠标悬停(CatMenu),并且日志是“必须提供移动操作的位置”。

我想转到 n11.com 网址,然后转到 Kitap、Müzik、Film、Oyun,然后单击 Kitap,但它不起作用。谢谢

@Test

public void startWebDriver(){
System.setProperty("webdriver.chrome.driver", "C://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://www.n11.com");


Actions act = new Actions(driver);
act.moveToElement(driver.findElement(By.xpath(".//*[@id='contentMain']/div/nav/ul/li[8]/a"))).perform();

最佳答案

使用下面的代码实现同样的效果-

    System.setProperty("webdriver.chrome.driver", "C://chromedriver.exe");
driver =new ChromeDriver();
driver.get("http://www.n11.com/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

WebElement menu = driver.findElement(By.xpath("//li[@class='catMenuItem']/a[@title='Kitap, Müzik, Film, Oyun']"));
WebElement submenu = driver.findElement(By.xpath("//li[@class='subCatMenuItem']/a[@title='Kitap']"));

Actions action = new Actions(driver);

action.moveToElement(menu).moveToElement(submenu).click().build().perform();

使用一些隐式等待来避免超时异常以找到您的网络元素
使用更具体的 xpath 来查找您的网络元素。

在您的情况下,您首先需要将鼠标悬停在 Kitap、Müzik、Film、Oyun 菜单上,然后必须执行点击 Kitap 子菜单

关于selenium - Xpath 不适用于 Selenium 中的 MouseOver(CatMenu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42594946/

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