from splinter import Browser
from splinter.exceptions import ElementDoesNotExist
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
browser.find_by_tag('body').text
browser.visit(str('http://ariismits.com/contact-us'))
a = browser.find_by_tag('body').text
print a
只返回菜单......
" u' HOME |哲学|投资组合|我们做什么|博客|联系\ n地图数据\ xa92017谷歌\ n使用条件\ n报告地图错误\ n地图\ n卫星\ n \ n \ n \ n \ n \ n \ nAriiSmits' u' HOME |哲学|投资组合|我们做什么|博客|联系\ n地图数据\ xa92017谷歌\ n使用条件\ n报告地图错误\ n地图\ n卫星\ n \ n \ n \ n \ n \ n \ nAriiSmits'"
...但是当我访问该页面时,我可以看到电话号码,电子邮件地址等
为什么不包含在回复中?
答案 0 :(得分:0)
我找到了解决方案。答案是,代码运行时,文本必须对人类用户可见。这个网站有响应式设计,当窗口较小时,我正在寻找的文字不可见。所以我跑的时候
browser.find_by_tag('body').text
斯普林特没有看到文字。即使我正在寻找的文本是在HTML中,它在屏幕上看不到(由于响应式设计),因此Splinter(和Selenium也是这样工作)没有捕获文本。
就我而言....
browser = Browser('chrome')
browser.visit('http://ariismits.com/contact-us')
它在我的笔记本电脑上启动了一个新窗口,只有半屏。最大化窗口并重新运行" browser.find_by_tag(' body')。text"按照我的意愿工作。有关调整大小的详细信息,请参阅(Manipulating browser (window) size using Splinter)。
我希望能节省一些时间。 : - )