亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Selenium WebDriver 關閉模式?

如何使用 Selenium WebDriver 關閉模式?

阿晨1998 2023-02-16 15:12:38
我有一個下拉列表,當我點擊任何下拉值時,一個模態會打開,當我在模態外點擊時,它會關閉。如何用 Selenium WebDriver 處理它?這是我的模態代碼<div class="modal fade bd-example-modal-sm show" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" style="display: block;">   <div class="modal-dialog modal-sm">      <div class="modal-content">You click on Dropdown hover Option      </div>   </div>我試過下面的代碼driver.switchTo().defaultContent();和driver.switchTo().alert().dismiss();但兩者都不起作用。
查看完整描述

3 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

如果您不想按 Esc 鍵,您可以單擊已創建的 div,以使用以下方法覆蓋頁面的其余部分:


    driver.get("https://demo.stqatools.com/MouseHover.php");

    WebElement hoverButton = driver.findElement(By.cssSelector(".dropbtn"));

    WebElement linkOne = driver.findElement(By.cssSelector(".dropdown-content > a"));


    //Activate modal dialogue

    Actions action = new Actions(driver);

    action.moveToElement(hoverButton).perform();

    wait.until(ExpectedConditions.visibilityOf(linkOne));

    action.moveToElement(linkOne).click().perform();


    //Dismiss modal dialogue

    driver.findElement(By.cssSelector(".show")).click();


查看完整回答
反對 回復 2023-02-16
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

這不是警報,它只是一個普通的DOM片段,由于CSS 樣式,它看起來像一個模態彈出窗口

因此,您需要做的就是使用例如它的文本來定位元素,相關的XPath 定位器類似于:

//div[contains(text(),'You click on Dropdown hover Option')]

通過WebDriverWait來“等待”直到彈出窗口存在/難處理也很好,例如:

new org.openqa.selenium.support.ui.WebDriverWait(driver, 10)
        .until(
                ExpectedConditions.elementToBeClickable(
                        By.xpath("//div[contains(text(),'You click on Dropdown hover Option')]")))
        .click();


查看完整回答
反對 回復 2023-02-16
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

最簡單的方法——點擊頁面上的一些靜態文本。嘗試點擊頁面標題(如果存在)。



查看完整回答
反對 回復 2023-02-16
  • 3 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號