3 回答

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
它更容易使用cssSelector
......
String error = driver.findElement(By.cssSelector("div .flash")).getText().trim(); System.out.println(error);
但是如果你想要 XPATH 使用:
String error = driver.findElement(By.xpath('//div[@class="container"]')).getText().trim(); System.out.println(error);

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
提取錯(cuò)誤消息不正確的用戶名或密碼。在 github 登錄頁(yè)面上,https://github.com/login
您需要為引入WebDriverWaitvisibilityOfElementLocated()
,您可以使用以下任一定位器策略:
cssSelector
:System.out.println(new?WebDriverWait(driver,?20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div#js-flash-container?div.container"))).getText());
xpath
:System.out.println(new?WebDriverWait(driver,?20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("http://div[@id='js-flash-container']//div[@class='container']"))).getText());

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
在 firefox 中,我找到了那個(gè)元素并發(fā)現(xiàn) xpath 是:
/html/body/div[3]/main/div/form/div[2]/div/div
我加載了 firefox selenium 并通過 xpath 找到了這個(gè)元素:
WebElement error_msg = driver.findElement(By.xpath(ELEMENT_XPATH));
然后獲取我使用的文本:
文本 error_msg_str = error_msg.getText();
然后您可以將此字符串與“不正確的用戶名或密碼”進(jìn)行比較。,如果這些匹配,則會(huì)引發(fā)錯(cuò)誤。
添加回答
舉報(bào)