第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么 WebElement.isDisplayed() 給我一個(gè)

為什么 WebElement.isDisplayed() 給我一個(gè)

牧羊人nacy 2023-09-06 15:02:09
我需要檢查頁面上元素的可見性。我正在使用 (psuedocode) wait.until(ExpectedCondition.visibilityOfElement(locator));但是,默認(rèn)的 ExpectedCondition 僅檢查 DOM 中與定位器匹配的第一個(gè)元素。我的定位器無法足夠具體以僅匹配一個(gè)元素(這是我被要求自動(dòng)化的限制,并且無法更改)。但是,在發(fā)現(xiàn)的元素中,任何顯示的元素都是公平的游戲。因此,我使用自定義 ExpectedCondition,循環(huán)查找到的元素,查找顯示的任何元素,然后返回找到的第一個(gè)元素。代碼如下:public WebElement WaitForElementToBeVisible(WebDriver theDriver, By locator) {    return new WebDriverWait(theDriver, STANDARD_WAIT_TIME)            .pollingEvery(1, TimeUnit.SECONDS)            .withTimeout(5, TimeUnit.SECONDS)            .ignoring(NoSuchElementException.class)            .until((ExpectedCondition<WebElement>) driver -> {                List<WebElement> els = driver.findElements(locator);                for (WebElement el : els) {                    try {                        if (el.isDisplayed()) {                            return el;                        }                    } catch (StaleElementReferenceException e) {                        /* Ignore Exception */                    } catch (NullPointerException e) {                        System.out.println("NullPointerException thrown");                    }                }                return null;            });}但是,在某些情況下,對 el.isDisplayed 的調(diào)用會(huì)引發(fā) NullPointerException。我在其他答案中看到,如果該元素不在頁面上,那么就會(huì)發(fā)生這種情況。但在這種情況下,我知道該元素存在。我添加了日志,告訴我:該元素存在(實(shí)際上是三個(gè))isDisplayed 在所有三個(gè)元素上調(diào)用所有三個(gè)元素都會(huì)拋出 NullPointerException另外,由于它等待 5 秒才能顯示該元素,因此我有足夠的時(shí)間查看,是的,該元素似乎確實(shí)已顯示。
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

根本問題似乎是 ChromeDriver 版本 77 中的錯(cuò)誤。

我正在運(yùn)行的 Salesforce 正在修改內(nèi)置 AsyncFunction 對象的構(gòu)造函數(shù),這導(dǎo)致所有 Selenium 的 Javascript 調(diào)用失敗,而不僅僅是 isDisplayed。

它應(yīng)該在 Chrome/ChromeDriver 版本 78 中修復(fù)。

查看完整回答
反對 回復(fù) 2023-09-06
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)