我花了几个小时试图使用各种选择器单击按钮,然后再在此处提出问题,但似乎无济于事
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>
请尝试以下操作:Code snipt
WebElement add= driver.findElement(By.partialLinkText("+"));
Actions ac1 = new Actions(driver);
ac.clickAndHold(add).build().perform();
要找到/单击元素,需要为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();