Могу ли я отделить все данные с помощью ";"используя XPath? - PullRequest
0 голосов
/ 05 июня 2018

Я не могу распечатать // * [@ class = "footballmaincontent"] с определенного сайта по xpath, спасибо!

# -*- coding:UTF-8 -*-

from pyvirtualdisplay import Display
import sys
from bs4 import BeautifulSoup
from selenium import webdriver

display = Display(visible=0, size=(1024, 768))
display.start()

driver = webdriver.Firefox()
driver.get("url")

soup = BeautifulSoup(driver.page_source.encode('utf-8'),'html.parser')
lines = soup.find_elements_by_xpath('//*[@class="footballmaincontent"]/tr')
print lines

driver.close()
display.stop()

1 Ответ

0 голосов
/ 05 июня 2018

Попробуйте следующий код, чтобы получить требуемый вывод:

lines = ['; '.join([j.text for j in i.find_elements_by_xpath('./td/div | ./td/span/span | ./td/span[not(span)]') if j.text]) for i in driver.find_elements_by_xpath('//*[@class="footballmaincontent"]//tr[position()>2]') if i.text]

for line in lines:
    print line
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...