[英]Unable to click a button in Selenium
我在點擊 Selenium 的按鈕時遇到了困難。
這是 DOM: http : //pasteboard.co/GHIjMd6.png
我已經使用 Xpath(根據 Firepath 返回一個節點的有效 Xpath)以這種方式聲明了按鈕 WebElement:
WebElement send_this_msg_btn = driver.findElement(By.xpath("//*[@class='mp-button-content'][.='Send This Message']"));
我已經嘗試以send_this_msg_btn
方式使用send_this_msg_btn
Xpath 單擊所述按鈕,但它們都不適合我。
WebDriver 的click()
方法: send_this_msg_btn.click()
JavaScript 執行器:
JavaScriptExecutor jse = (JavaScriptExecutor)driver;
jse.executeScript("arguments[0].click();", send_this_msg_btn);
動作類:
Actions actions = new Actions(driver);
actions.moveToElement(send_this_msg_btn);
actions.click();
actions.build().perform();
我還檢查了按鈕是否在框架/iframe 內,但事實並非如此。
將 xpath 更改為.//mp-button[@class='mp-button-primary submit_button']
解決了這個問題,但我不確定這是否應該是公認的答案,因為我不確定它是否是脆弱的路徑。 歡迎任何建議!
嘗試單擊父按鈕
xpath = "//*[@class='mp-button-content'][.='Send This Message']/.."
或者是父母
xpath = "//*[@class='mp-button-content'][.='Send This Message']/../.."
並使用顯式等待直到元素可點擊。
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement elem = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpath)));
elem.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.