簡體   English   中英

無法單擊 Selenium 中的按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM