我已經厭倦了使用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
提交
取消