Selenium - источник страницы не меняется после выполнения щелчка () - PullRequest
0 голосов
/ 20 мая 2018

Я очищаю этот сайт: https://www.findinall.com/finance-category-396

Я использую Selenium (Python) и выполняю опцию щелчка по опции 300 в раскрывающемся меню с именем " Показ ".Клик успешно автоматизирован, и веб-страница отображает все данные на 12 страницах вместе на одной странице, но после очистки данных получаются только первые 12 элементов данных, т. Е. Источник_страницы не изменяется.

Этомой код:

from selenium import webdriver
driver=webdriver.Chrome("/home/ronith/Downloads/chromedriver")

driver.get('https://www.findinall.com/finance-category-396/#')
driver.find_element_by_xpath("//select[@name='per_page']/option[@value  
='300']").click()
driver.implicitly_wait(5)
data=driver.find_elements_by_xpath('//div[@class="pro-list-tb mt15"]')
for i in range(len(data)):
   print(data[i].text,'\n\n')
driver.close()

Я хочу очистить все данные, которые доступны после выполнения действия щелчка.Что я тут не так делаю?

1 Ответ

0 голосов
/ 20 мая 2018

Вместо того, чтобы использовать Selenium для очистки, используйте BeautifulSoup, запрашивайте и импортируйте приведенный ниже код

import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from bs4 import BeautifulSoup
import requests


class Page(QWebEnginePage):
    def __init__(self, url):
        self.app = QApplication(sys.argv)
        QWebEnginePage.__init__(self)
        self.html = ''
        self.loadFinished.connect(self._on_load_finished)
        self.load(QUrl(url))
        self.app.exec_()

    def _on_load_finished(self):
        self.html = self.toHtml(self.Callable)

    def Callable(self, html_str):
        self.html = html_str
        self.app.quit()

и импортируйте этот код в другой файл python, такой как на странице импорта jssoup (я назвал его 'jssoup')

page = Page(url)
soup = bs.BeautifulSoup(page.html, 'lxml')
js_test = soup.find('p', class_='jstest')
print(js_test)
...