2017-07-28 81 views
1

香港專業教育學院得到了一些麻煩與DIV已經得到了類名和ID獲取文本,我試着 element(by.css('.panel-body')).getText();<-return object Objct element(by.className('panel-body')).getText();<-return object Object element(by.id('message-body')).getText();<-return object Object element(by.xpath('//*[@id="message-body"]/text()[3]')).getText()<-return textObjectHTML view, I need to get this link 0.0.0.0:3000...量角器 - 硒元素角2打字稿

HTML視圖,我需要得到這個鏈接0.0。 0.0:3000成串,你能幫我嗎?謝謝:)

+0

好吧,GetText返回承諾,有沒有什麼辦法來提取該對象的字符串? –

+1

你必須解決承諾。請參考此鏈接 - https://stackoverflow.com/questions/29478905/protractor-element-gettext-returns-an-object-and-not-string –

回答

1

使用正則表達式來提取網址:

element(by.css('#message-body')) 
    .getText() 
    .then(text => text.match(/[^"\s]+\/student\/register\/\?[^"\s]+/)[0]) 
    .then(url => console.log(url)); 
+0

謝謝,你知道也許如何返回這個URL的功能?它在內部返回時是未定義的。然後,當我返回所有內部返回的元素時,然後它返回元素的對象:) –

+1

您正在處理異步調用,因此無法直接從函數中獲取結果。也就是說,函數返回一個'Promise',可以用'.then'來解決。所以如果你想在其他地方使用'url',那麼將它存儲在一個全局變量中,或者返回'Promise'並在需要時解析它。 –