为了账号安全,请及时绑定邮箱和手机立即绑定

如何点击按钮

如何点击按钮

神不在的星期二 2022-11-02 17:27:42
我已经厌倦了使用xpath和css定位器,但都无法点击。谁能帮忙看看为什么按钮元素与其他元素不同?这是网址代码试用:driver.findElement(By.xpath("//span[@id='a-autoid-2']")).click();
查看完整描述

3 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

该元素不是一个button元素,而是一个与DropDown<span>相关联的标签,由于存在属性,因此看起来像 a ,并且。buttona-buttona-button-dropdowna-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();



查看完整回答
反对 回复 2022-11-02
?
郎朗坤

TA贡献1921条经验 获得超9个赞

请改用下面的 xpath,它具有按钮角色而不是父跨度。

//span[@id='a-autoid-2']//span[@role='button']


查看完整回答
反对 回复 2022-11-02
?
肥皂起泡泡

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 属性。


查看完整回答
反对 回复 2022-11-02
  • 3 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信