gpt4 book ai didi

java - Selenium Webdriver - 如何在 CSS 菜单中选择元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:50 26 4
gpt4 key购买 nike

我不知道如何单击 CSS 下拉菜单上的菜单项。菜单的结构如下所示:

    <ul id="nav" class="clearfix" role="navigation">
<li>
<li class="navMenu navActive">
<a href="/test.user/beratung/wie-ich-sie-unterstuetze/">Allfinanzberatung</a>
<ul class="subMenu" role="navigation">
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/wie-ich-sie-unterstuetze/">Wie ich Sie unterstütze</a> <- I want to Select this Menu Point
</div>
</li>
</ul>
<li class=" subMenuPoint">
<li class=" subMenuPoint">
<li class="last subMenuPoint">
</ul>

我已经用下面的代码试过了,但它不起作用:(Eclipse Junit)

WebElement elems=driver.findElement(By.linkText("Wie ich Sie unterstütze"));//Menu Item
WebElement elems1=driver.findElement(By.xpath("//li[@nav']/a"));//Menu
Actions builder = new Actions(driver);
Actions hoverOverRegistrar = builder.moveToElement(elems1);
hoverOverRegistrar.perform();
elems.click();//at last Menu Item Click

首先谢谢大家

但不幸的是它仍然不能正常工作。这里又是菜单的代码。

<ul id="nav" class="clearfix" role="navigation">
<li class="navMenu">
<a href="/test.user/beratung/wie-ich-sie-unterstuetze/">beratung</a>
<ul class="subMenu" role="navigation">
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/wie-ich-sie-unterstuetze/">Wie ich Sie unterstütze</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/wie-ich-sie-berate/">Wie ich Sie berate</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/produktwelt/">Produktwelt</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/auszeichnungen/">Auszeichnungen</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/premium-partner/">Premium-Partner</a>
</div>
</li>
<li class="last subMenuPoint">
<div class="left">
<a class="right" href="/test.user/beratung/ihr-allfinanzcheck/">Ihr Allfinanzcheck</a>
</div>
</li>
</ul>
</li>
<li>
<img alt="" src="/test.user/javax.faces.resource/pic_bg_main_menu_separator.png.xhtml?ln=images/frontend/menus" />
</li>
<li class="navMenu">
<a href="/test.user/karriere/ihre-perspektiven/">Karriere</a>
<ul class="subMenu" role="navigation">
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/ihre-perspektiven/">Ihre Perspektiven</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/ihr-neuer-beruf/">Ihr neuer Beruf</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/ihr-karrierefahrplan/">Ihr Karrierefahrplan</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/ihr-karrierecheck/">Ihr Karrierecheck</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/was-andere-sagen/">Was andere sagen</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/auszeichnungen/">Auszeichnungen</a>
</div>
</li>
<li class=" subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/freie-stellen/">Freie Stellen</a>
</div>
</li>
<li class="last subMenuPoint">
<div class="left">
<a class="right" href="/test.user/karriere/im-falschen-film/">Führen Sie selbst Regie</a>
</div>
</li>
</ul>
</li>
</ul>

此代码为我选择了第四个元素,所以“karriere”很好 driver.findElement(By.cssSelector("#nav > li:nth-child(4) a")).click();

但不幸的是我无法选择它的第二个元素 -> Karriere -> Ihr neuer Beruf

我试过了,还是不行

driver.findElement(By.cssSelector("#nav > li:nth-child(4) li:nth-child(2) a")).click();

错误是什么?

最佳答案

尝试

driver.findElement(By.cssSelector(".navMenu a")).click();

这会找到类为 navMenu 的元素,然后选择第一个 html <a> 元素(也就是您的链接)的子元素并单击它。

关于java - Selenium Webdriver - 如何在 CSS 菜单中选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472849/

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