2017-06-13 61 views
0

複製我有以下的HTML代碼:找到並文本從HTML標籤

<td class="label">Name:</td> 
<td colspan="3">COHEN&nbsp;</td> 

我想從這個HTML code==="COHEN"檢索文本。

我正在使用Python Selenium,我需要將這個文本放入一個註釋中,但不知道如何選擇文本。

謝謝你在前進, 科恩

+0

如果您保存了selenium webdriver對象中的'driver.page_source',則可以使用[BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)解析該html。 –

+0

顯示你已經嘗試過什麼 – Andersson

回答

0

所以硒有webElements。 WebElements具有屬性文本,它是元素內的可見文本。 所以你只需要找到WebElement,然後從中獲取屬性。如果您使用的XPath它會是什麼樣子:

element = driver.find_element_by_xpath("//td[@colspan='3']") 
visibleText = element.text 

當然,我想,因爲我想,你將有更多然後1個td標籤,與被colspans你可能有一個問題與發現像這樣的XPath但是一旦找到合適的元素,從中獲取文本就足夠簡單了。

+0

謝謝@Jeff!我按照你的帖子做了,我得到了這個:TypeError:'str'對象不可調用。我的代碼是這樣的。我嘗試檢索文本以將其放入如下注釋中:compania = browser.find_element(By.XPATH(「// td [@ colspan ='3']」)) textcompania = compania.text note .send_keys(「我的文本 - 」+ textcompania +「已清除」) – Cohen

+0

嗯。你能保證你的browser.find_element只返回1個元素嗎?我認爲這可能是第一件要檢查的事情。如果「// td [@ colspan ='3']」是一個返回多於一個元素的路徑,或者不返回一個元素,與find_element一起使用,那麼我認爲這是問題所在。我也犯了大部分問題,因爲它看起來像你注意到我會更新我的答案是python而不是java。但你可能想嘗試像'browser.find_element_by_xpath(「// td [@ colspan ='3'])''或'broswer.find_element(By.XPATH,」// * [@ colspan ='3']「 )'。 – Jeff

+0

謝謝@Jeff !!!是的你是對的!我得到了這個錯誤TypeError:'str'對象不可調用我首先嚐試了xpath,當我將xpath插入註釋時,我插入了一個非常大的我認爲這就是爲什麼我得到了錯誤,動態地在文本後面有一個URL從其他服務器檢索文本。有沒有不同的原因,我可以解決這個問題? – Cohen