我已经厌倦了使用xpath和css定位器,但都无法点击。谁能帮忙看看为什么按钮元素与其他元素不同?这是网址代码试用:driver.findElement(By.xpath("//span[@id='a-autoid-2']")).click();
3 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
该元素不是一个button
元素,而是一个与DropDown<span>
相关联的标签,由于存在类属性,因此看起来像 a ,并且。button
a-button
a-button-dropdown
a-button-small
要单击所需的元素,您可以使用以下任一定位器策略:
选择器:
driver.findElement(By.cssSelector("span.a-button.a-button-dropdown.a-button-small span.a-dropdown-prompt")).click();
路径:
driver.findElement(By.xpath("//span[@class='a-button a-button-dropdown a-button-small']//span[@class='a-dropdown-label']")).click();
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
如果您尝试修改数量(Qty),请尝试以下 CSS 选择器
driver.FindElement(By.CssSelector("#a-autoid-2 span[data-action='a-dropdown-button']")).Click();
该下拉按钮有一个属性,即 [aria-pressed="false"]。这默认为“假”,一旦单击属性更改为“真”。现在 WebDriver 找不到 Qty 下拉列表,因为上述定位器的属性已更改。单击代码后尝试使用流畅的等待来获取更新的 DOM 属性。
添加回答
举报
0/150
提交
取消