<p>我想这会对你有用:</p>
<pre><code>prices = page_soup.findAll("span", {"class":"convert_price"})
</code></pre>
<p>然后,页面上将有一个包含所有价格的容器,您可以使用<code>prices[0] ... prices[len(prices)-1]</code>访问单个价格。
如果要从价格表中删除html标记,请执行<code>prices[0].text</code></p>
<p>但是这个HTML的确切来源是什么?Bc价格不在代码中添加的链接页面上。所以在这汤里你应该找不到任何价格</p>
<p>上面的代码适用于您在那里提供的html代码</p>
<p>编辑:下面评论的屏幕截图
<a href="https://i.stack.imgur.com/bSurU.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bSurU.png" alt="enter image description here"/></a></p>
<p>!!解决方案!:</p>
<p>解决此问题的一种方法是将SeleniumWebDriver与BeautifulSoup一起使用。我似乎找不到其他(更容易的)方法了</p>
<p>首先,使用<code>pip install selenium</code>安装Selenium</p>
<p>下载浏览器<a href="https://selenium-python.readthedocs.io/installation.html#drivers" rel="nofollow noreferrer">here</a>的驱动程序</p>
<p>我们要做的是,点击打开网站时出现的“设置选项”按钮,然后在页面上添加已经加载的价格。享受我下面的代码</p>
<pre><code>from bs4 import BeautifulSoup
from selenium import webdriver
# use the path of your driver.exe
driver = webdriver.Firefox(executable_path="C:\Program Files (x86)\geckodriver.exe")
# for Chrome it's: driver = webdriver.Chrome("C:\Program Files (x86)\chromedriver.exe")
# open your website link
driver.get("https://www.tenniswarehouse-europe.com/catpage-WILSONRACS-EN.html")
# button for submitting the location
button1 = driver.find_element_by_class_name("vat_entry_opt-submit")
button1.click()
# now that the button is clicked the prices are loaded in and we can soup this page
html = driver.page_source
page_soup = BeautifulSoup(html)
# extracting all prices into an array named pricing
pricing = page_soup.findAll("div",{"class":"pricing"})
price = pricing[x].span.text
# a loop for writing every price inside an array named 'price'
price = []
i = 0
while i<len(pricing):
price.append(pricing[i].span.text)
i = i + 1
# For this example you have to use class "pricing" instead of "price" because the red prices are in class "sale"
# replace x with the price you're looking for, or let it loop and get all prices in one array
# driver.close() closes your webdriver window
</code></pre>