[使用Xpath或CSS选择器单击带有Selenium的按钮

问题描述 投票:0回答:2

我花了几个小时试图使用各种选择器单击按钮,然后再在此处提出问题,但似乎无济于事

WebElement add= driver.findElement(By.partialLinkText("+"));
WebElement add= driver.findElement(By.xpath("/*[name()='svg']/*[name()='button']"));
WebElement confirm = driver.findElement(By.xpath("//a[contains(@class, 'IconButton-h85035-0 indexstyles__PlusButton')]"));

没有可用的示例具有与我正在使用的页面相似的html布局。我不确定如何创建按钮的xPath。我将不胜感激有关如何创建xPath或CSS选择器的任何提示,期望没有现成的解决方案,但对理解如何引用该特定元素有任何帮助。

这是加号按钮的代码:

<button data-testid="tselectionSpinbuttonPlus" type="button" tabindex="-1" aria-hidden="true" width="44px" height="44px" class="IconButton-h85035-0 indexstyles__PlusButton-sc-108enfc-3 bAZDfp">
    <svg viewBox="0 0 24 24" width="1.5em" height="1.5em" aria-hidden="true" focusable="false" class="BaseSvg-sc-9y47q5-0 PlusIcon___StyledBaseSvg-sc-11rza9m-0 VCaQT">
      <path d="M13 11V3h-2v8H3v2h8v8h2v-8h8v-2h-8z">
      </path>
    </svg>
 </button>

enter image description here

java html selenium xpath css-selectors
2个回答
0
投票

请尝试以下操作:Code snipt

WebElement add= driver.findElement(By.partialLinkText("+"));
        Actions ac1 = new Actions(driver);
                    ac.clickAndHold(add).build().perform();

0
投票

要找到/单击元素,需要为element_to_be_clickable()引入WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:

  • cssSelector

    driver.findElement(By.cssSelector("button[data-testid='tselectionSpinbuttonPlus']")).click();
    
  • xpath

    driver.findElement(By.xpath("//button[@data-testid='tselectionSpinbuttonPlus']")).click();
    
© www.soinside.com 2019 - 2024. All rights reserved.