我想打印/仅获取可见的文本内容{当前用户从任何网站上看到的内容}。
我尝试使用多种方法,但我从页面中获取了所有文本,但没有预期的文本。
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属性创建了一个剪裁区域,该区域设置了应显示元素的哪个部分。显示了区域内部的零件,而外部的零件则被隐藏。