Заставить селен открывать настольную версию сайта, а не мобильную - PullRequest
0 голосов
/ 13 июля 2020

Я написал код для очистки фьючерсных цен. На моем рабочем ноутбуке веб-сайт открывается в мобильном режиме, а не в настольном. Это приводит к тому, что DataFrame возвращается как мультииндексный объект, и выдает ошибку, говоря, что «DataFrame не имеет атрибута str». Я пытался сбросить индекс, сбросить индекс и т. Д. c. и не повезло.

Если я запустил этот точный код на своем личном ноутбуке, он запустится без проблем и вернет именно то, что я хочу. Мы будем очень благодарны за любую помощь по настройке веб-драйвера Chrome для открытия сайта в режиме рабочего стола. Я попытался установить размер окна и попытался развернуть страницу до максимума, но, похоже, ничего не работает, чтобы открыть версию для ПК.

from bs4 import BeautifulSoup
import requests
import os
from selenium import webdriver
import pandas as pd
import time
from selenium.webdriver.chrome.options import Options

driver = webdriver.Chrome(executable_path=r"C:\TEMP\ChromeDriver\chromedriver.exe")
driver.set_window_size(1920,1080)
driver.get('http://cmegroup.com/trading/agricultural/grain-and-oilseed/soybean.html')
time.sleep(3)
table = driver.find_element_by_css_selector('#quotesFuturesProductTable1').get_attribute('outerHTML')
soup = BeautifulSoup(table, 'html.parser')
df = pd.read_html(str(soup))[0]
df = df[df.Month.str[0:3]=='NOV']  **This is where it throws the error that DataFrame has no attribute string, yet exact code works on my personal laptop as the desktop version does not come back as a multi-index

print(df)
browser.quit()
...