使用BeautifulSoup&amp ;;解析HTML内容硒

时间:2016-05-03 10:38:01

标签: python selenium beautifulsoup

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
import csv
import requests
import re

driver2 = webdriver.Chrome()
driver2.get("http://www.squawka.com/match-results?ctl=10_s2015")

soup=BeautifulSoup(driver2.page_source)

print soup

driver2.quit()

我正在尝试获取每个“td”,“类”的HREF:“匹配中心”,我需要使用selenium来浏览页面,但是我很难合并这两个,所以我可以更改菜单选项并在将链接提供给我的其他代码的同时浏览不同的页面。

我已经研究过并试过('inner-html')和当前在代码中的page.source,但它没有获得我需要的任何网络链接。

有没有人有解决方案来获取这些链接并在页面上导航。有没有办法获取此页面的XML以获取所有链接?

1 个答案:

答案 0 :(得分:1)

不确定为什么你需要BeautifulSoup(BS)。仅Selenium能够定位元素并浏览页面上的链接。例如,要获取匹配详细信息页面的所有链接,您可以执行以下操作:

>>> matches = driver.find_elements_by_xpath("//td[@class='match-centre']/a")
>>> print [match.get_attribute("href") for match in matches]

至于浏览页面,您可以使用以下XPath:

//span[contains(@class,'page-numbers')]/following-sibling::a[1]

上面的XPath找到了下一页的链接。要浏览所有页面,您可以尝试使用while循环;找到下一页的链接:

  1. 对链接执行点击操作
  2. 从当前页面抓取所有href
  3. 找到下一页链接。