如何点击按钮

我已经厌倦了使用xpathcss定位器,但都无法点击。

谁能帮忙看看为什么按钮元素与其他元素不同?

这是网址

代码试用:

driver.findElement(By.xpath("//span[@id='a-autoid-2']")).click();


神不在的星期二
浏览 119回答 3
3回答

MMTTMM

该元素不是一个button元素,而是一个与DropDown<span>相关联的标签,由于存在类属性,因此看起来像 a&nbsp;,并且。buttona-buttona-button-dropdowna-button-small要单击所需的元素,您可以使用以下任一定位器策略:选择器:driver.findElement(By.cssSelector("span.a-button.a-button-dropdown.a-button-small&nbsp;span.a-dropdown-prompt")).click();路径:driver.findElement(By.xpath("//span[@class='a-button&nbsp;a-button-dropdown&nbsp;a-button-small']//span[@class='a-dropdown-label']")).click();

郎朗坤

请改用下面的 xpath,它具有按钮角色而不是父跨度。//span[@id='a-autoid-2']//span[@role='button']

肥皂起泡泡

如果您尝试修改数量(Qty),请尝试以下 CSS 选择器driver.FindElement(By.CssSelector("#a-autoid-2&nbsp;span[data-action='a-dropdown-button']")).Click();该下拉按钮有一个属性,即 [aria-pressed="false"]。这默认为“假”,一旦单击属性更改为“真”。现在 WebDriver 找不到 Qty 下拉列表,因为上述定位器的属性已更改。单击代码后尝试使用流畅的等待来获取更新的 DOM 属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java