所以我试图找到一种方法来查找BeautifulSoup对象中的所有项目,这些项目具有不在某个其他标记内的某个标记.例如:
<td class="disabled first"> <div class="dayContainer">
<p class="day"> 29
</p> <p class="moreLink">
</p>
</div>
</td>
Run Code Online (Sandbox Code Playgroud)
我想找到所有迭代class="dayContainer"
,这很简单,但我如何找到所有那些不是第一个class="diabled"
?
所以我正在使用 Jest & Enzyme 测试我的 React 组件,当我测试一个打开引导模式的组件时,我收到以下错误:
TypeError: $(...).modal is not a function
有道理,我还没有在任何时候引用引导程序,所以我继续将以下内容添加到我的 package.json 中的 jest 对象中:
"setupFiles": [
"./app/common/js/jquery-3.1.1.min.js",
"./app/common/js/bootstrap.min.js",
"./__mocks__/beforeTest.js"
]
Run Code Online (Sandbox Code Playgroud)
然后给了我这个错误:
Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.
我已经设置window.$
和global.$
jQuery 以查看这是否对我的问题有帮助,但它似乎也没有帮助,在我的beforeTest.js
文件中导入引导模块也没有帮助。
我不需要测试模态的功能,我只需要错误消失。所以我希望找到一种方法来加载引导程序,以便我可以运行$(...).modal
. bootstrap 甚至可以在这种环境中工作吗?
我试图找到HTML的这些部分,但只是某个月(04)的部分,区别在于链接的结尾.
<td class="">
<div class="dayContainer">
<a href="/parks/magic-kingdom/calendardayview/?asmbly_day=20120402">
<p class="day"> 2</p>
<p class="moreLink">
Park Hours
<br />
8:00 AM - 1:00 AM
<br /><br/>
Extra Magic Hours
<br />
7:00 AM - 8:00 AM
<br /><br/>
</p>
</a>
</div>
</td>
Run Code Online (Sandbox Code Playgroud)
我可以通过使用找到所有日期findAll('div', attrs={'class':'dayContainer'})
,但这会给我网站中的所有日期.我试着按照这个例子,但我尝试的一切都给我留下了空白的结果.以下是我现在要查找的部分:
days = soup.findAll(lambda date: date.name == 'a' and date.text[-4:-2] == '04' and date.findParent('div', attrs={'class':'dayContainer'}))
print days
Run Code Online (Sandbox Code Playgroud)
知道我哪里出错了吗?谢谢!这是网站,如果有人需要它.
我正在尝试根据此日历创建一个小时字典:http://disneyworld.disney.go.com/parks/magic-kingdom/calendar/
<td class="first"> <div class="dayContainer">
<a href="/parks/magic-kingdom/calendardayview/?asmbly_day=20120401">
<p class="day"> 1
</p> <p class="moreLink">Park Hours<br />8:00 AM - 12:00 AM<br /><br/>Extra Magic Hours<br />7:00 AM - 8:00 AM<br /><br/>Extra Magic Hours<br />12:00 AM - 3:00 AM<br /><br/>
</p>
</a>
</div>
</td>
Run Code Online (Sandbox Code Playgroud)
每个日历条目都在一行上,所以我认为最好逐行浏览HTML,如果该行包含小时数,请将这些小时数添加到相应日期的字典中(有些日子有多个小时条目).
import urllib
import re
source = urllib.urlopen('http://disneyworld.disney.go.com/parks/magic-kingdom/c\
alendar/')
page = source.read()
prkhrs = {}
def main():
parsehours()
def parsehours():
#look for #:## AM - #:## PM
date = r'201204\d{02}'
hours = r'\d:0{2}\s\w{2}\s-\s\d:0{2}\s\w{2}'
#go through page line …
Run Code Online (Sandbox Code Playgroud)