Как я могу удалить информацию с веб-страницы? - PullRequest
0 голосов
/ 27 февраля 2019

Я новичок в программировании и мне нужна помощь с моим веб-сканером.

В данный момент у меня есть код, открывающий каждую веб-страницу в списке.Тем не менее, я хочу извлечь информацию из каждого, который он загружает.Это то, что у меня есть.

from selenium import webdriver
import csv
driver = webdriver.Firefox()
links_code = driver.find_elements_by_xpath('//a[@class="in-match"]')
first_two = links_code[0:2]
first_two_links = []

for i in first_two:
    link = i.get_attribute("href")
    first_two_links.append(link)


for i in first_two_links:
    driver.get(i)

Это перебирает первые две страницы, но ничего не показывает.Поэтому я попытался добавить в цикл for следующим образом:

odds = []
for i in first_two_links:
    driver.get(i)
    driver.find_element_by_xpath('//span[@class="table-main__detail- 
    odds--hasarchive"]')
    odds.append(odd)

.Это приводит к ошибке.Любая помощь высоко ценится.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы на самом деле ничего не добавляете!вам нужно присвоить переменную

driver.find_element_by_xpath ('// span [@ class = "table-main__detail- odds - hasarchive"]')

затем добавьте его в список!

from selenium import webdriver;
import csv;
driver = webdriver.Firefox();
links_code : list = driver.find_elements_by_xpath('//a[@class="in-match"]');
first_two : list = links_code[0:2];
first_two_links : list = [];

i : int;
for i in first_two:
    link = i.get_attribute("href");
    first_two_links.append(link);


for i in first_two_links:
    driver.get(i);


odds : list = [];
i :int;
for i in first_two_links:
    driver.get(i);
    o = driver.find_element_by_xpath('//span[@class="table-main__detail- odds--hasarchive"]');
    odds.append(o);
0 голосов
/ 27 февраля 2019

Во-первых, после запуска драйвера вам нужно перейти на веб-сайт ...

Во-вторых, во втором цикле for вы пытаетесь добавить не тот объект ... используйте i notodd или сделайте odd = driver.find_element_by_xpath('//span[@class="table-main__detail-odds--hasarchive"]')

Если вы можете предоставить URL или HTML, мы можем помочь больше!

Попробуйте это (яиспользовал Google в качестве примера, вам нужно будет изменить код ...):

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.google.com")
links_code = driver.find_elements_by_xpath('//a')
first_two = links_code[0:2]
first_two_links = []

for i in first_two:
    link = i.get_attribute("href")
    first_two_links.append(link)

    print(link)


odds = []
for i in first_two_links:
    driver.get(i)
    odd = driver.page_source
    print(odd)
    # driver.find_element_by_xpath('//span[@class="table-main__detail- odds--hasarchive"]')
    odds.append(odd)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...