如何使用Python Selenium打印出任何网站的文本内容的显示/可见/(在屏幕上显示)



我想打印/仅获取可见的文本内容{当前用户从任何网站上看到的内容}。

我尝试使用多种方法,但我从页面中获取了所有文本,但没有预期的文本。

driver = webdriver.Chrome(chrome_options=options) #'CustomerProject-createCustomerProject&/Create'
url = "https://techcrunch.com/"
driver.get(url)
element = driver.find_element_by_xpath(r"//body")
driver.execute_script("return arguments[0].innerText", element) 

有没有任何方法可以得到可见的文本。

注意:如果解决方案是纯JavaScript,则非常欢迎。

获取body元素并使用.text方法获取该元素的文本。

尝试以下操作:

driver.get("https://techcrunch.com/")
element = driver.find_element_by_tag_name("body")
print(element.text)

如果您猜测(opens in a new window)文本在文档中不可见,但结果中存在是因为它存在于页面上。如果您尝试Ctrl + A并复制文本,则将获得相同的结果。您甚至可以使用Ctrl+F在页面中搜索文本。

您没有看到文本的原因是它是使用webkit-clip-path剪辑的。

剪辑 - 路径CSS属性创建了一个剪裁区域,该区域设置了应显示元素的哪个部分。显示了区域内部的零件,而外部的零件则被隐藏。

最新更新