无法使用Python获得预期的html元素详细信息

时间:2019-07-15 14:41:15

标签: python-3.x selenium-webdriver beautifulsoup

我正在尝试使用Python抓取一个网站。我已经能够成功地将其抓取,但是预期的结果并未出现。我认为与网页的JavaScript有关。

下面的我的代码:

driver.get(
        "https://my website")

soup=BeautifulSoup(driver.page_source,'lxml')
all_text = soup.text
ct = all_text.replace('\n', ' ')
cl_text = ct.replace('\t', ' ')
cln_text_t = cl_text.replace('\r', ' ')
cln_text = re.sub(' +', ' ', cln_text_t)
print(cln_text)

并没有提供给我网站详细信息,而是提供了以下数据。知道我该如何解决吗?

html, body {height:100%;margin:0;} You have to enable javascript in your browser to use an application built with Vaadin.........

1 个答案:

答案 0 :(得分:1)

为什么您完全需要这个BeautifulSoup?它似乎不支持JavaScript。

如果您需要获取网页文本,则可以使用//html中的简单document root来获取XPath selector并获取所得innerTextWebElement属性< / p>

建议的代码更改:

driver.get(
        "my website")

root = driver.find_element_by_xpath("//html")

all_text = root.get_attribute("innerText")