gpt4 book ai didi

java - 如何在跨度下拉菜单cssSelector webdriver Java中选择元素

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

我试图在 webdriver 中选择这些元素,在我单击打开下拉菜单的按钮后。我可以很好地单击按钮,然后它就会下降。

WebElement providers = driver.findElement(By.id("providers"));
providers.click();

HTML

<input id="providers" class="providersOff" type="button">
<div id="providers-list" class="">
<ul>
<li ng-click="searchProvider(0)">
<div class="imageContainer">
<span>Google</span> <--TRYING TO SELECT THIS

我正在尝试选择 Google 元素。

这两种我都试过了,但都不行:

driver.findElement(By.cssSelector(".imageContainer[Google]"));
driver.findElement(By.cssSelector(".providers-list > li[ng-click*= searchProvider(0)]"));

它运行这些非常好:

  // Assign search-bar & send keys
WebElement searchbar = driver.findElement(By.id("txtSearch"));
searchbar.sendKeys("Pizza");


// Assign provider drop-down & click
WebElement providers = driver.findElement(By.id("providers"));
providers.click();

最佳答案

应该是:

div.imageContainer > span

这基本上意味着:

give me the span element which is a direct child of a div element with class="imageContainer".

要获取实际文本,请使用 .text:

WebElement span = driver.findElement(By.cssSelector("div.imageContainer > span"));
System.out.println(span.text);

如果你想通过文本匹配span,你可以使用xpath来实现:

WebElement google = driver.findElement(By.xpath("//div[@class='imageContainer']/span[. = 'Google']"));
google.click();

或者,您还可以依赖 li 元素的 ng-click 属性:

WebElement span = driver.findElement(By.cssSelector("li[ng-click$='(0)'] > div.imageContainer > span"));

其中 $=ends-with selector .

关于java - 如何在跨度下拉菜单cssSelector webdriver Java中选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259697/

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