为什么这个Python Splinter调用不返回所有正文文本?

2024-04-20 12:32:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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 | PHILOSOPHY | PORTFOLIO | WHAT WE DO | BLOG | CONTACT\nMap data\xa92017 Google\nEntrems of Use\n报告地图错误\nMap\nSatellite\n\n\n\n\n其‘u'HOME | Philoshy | PORTFOLIO | WHAT”我们做| BLOG | CONTACT\nMap data\xa92017 Google\nTerms of Use\n报告一个地图错误\nMap\nSatellite\n\n\n\n\n ismits'

。。。但当我浏览网页时,我可以看到电话号码,电子邮件地址等

为什么这不包括在回复中?你知道吗


Tags: textfromimportbrowserhomebytagselenium
1条回答
网友
1楼 · 发布于 2024-04-20 12:32:17

我找到了解决办法。答案是,当代码运行时,文本必须对人类用户可见。这个网站有响应性的设计,当窗口变小时,我要找的文字就看不见了。所以当我跑的时候

browser.find_by_tag('body').text

斯普林特没有看到文字。尽管我要找的文本是HTML格式的,但在屏幕上看不到(由于响应性设计),所以Splinter(Selenium也是这样工作的)没有捕获文本。你知道吗

在我的情况下,当这个。。。。你知道吗

browser = Browser('chrome')
browser.visit('http://ariismits.com/contact-us')

它在我的笔记本电脑上启动了一个新窗口,它只有半个屏幕。最大化窗口并重新运行”browser.find\ by\标记('body').text“按我的要求工作。有关调整大小的详细信息,请参见(Manipulating browser (window) size using Splinter)。你知道吗

我希望这能为其他人节省一些时间。:-)

相关问题 更多 >