Я пытался увеличить диапазон дат для таблицы, которая генерируется с веб-страницы, отличной от той, в которой я устанавливаю параметры (это то, как она настраивается, и я ничего не могу сделать, чтобы изменить это) , затем скопируйте его в текстовый или CSV-файл. Тем не менее, я всегда получаю эту ошибку тайм-аута, когда этот диапазон дат достигает 10 дней.
selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: -0.001
(Session info: chrome=81.0.4044.122)
В конечном итоге я хочу, чтобы этот набор данных превышал данные за 20 лет, но это будет Возьми навсегда, если я могу загружать только дни одновременно !!! Поэтому я пытался использовать явное ожидание от веб-драйвера, и я пытался использовать --headless
, но я понятия не имею, правильно ли я использую любую из этих функций.
Что я могу представить это самое начало моего кода
from selenium import webdriver
#from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from bs4 import BeautifulSoup
from urllib.request import urlopen
import pandas as pd
import requests
import os
import html5lib
import time
#Load webpage faster
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
... и следующий код, когда я пытаюсь, чтобы мой код обращал внимание с одной веб-страницы на другую. '/html/body/p[2]/text()[2]'
xpath - самый последний элемент на веб-странице, который я хотел бы загрузить полностью.
#Click Run Button From First Webpage
driver.find_element_by_partial_link_text('Run').click()
#time.sleep(2)
driver.implicitly_wait(2)
#Scrape Second Web Page
driver.switch_to.window(driver.window_handles[1])
WebDriverWait(driver, 60).until(EC.visibility_of_element_located((By.XPATH, '/html/body/p[2]/text()[2]')))
df_url = driver.current_url
Я даже попытался By.CLASS_NAME = 'info'
для хорошей меры.
Так что мои вопросы вот что ... как я могу использовать селен для загрузки большего набора данных? В частности, как мне лучше всего использовать явные ожидания от веб-драйвера или без заголовка для того, с чем я пытаюсь сейчас справиться (построение моего набора данных по крупицам с использованием данных каждые 10-15 дней)? Любая помощь действительно ценится.