Ну, я сделал с chrome
браузер надеюсь, что firefox
даст вам те же результаты.
Используйте бесконечное l oop и проверьте доступную кнопку next
. Если на странице ее нет нарушит l oop. Вместо использования неявного ожидания WebDriverWait
()
Код : решение 1 печатает таблицы на каждой странице.
from pandas.io.html import read_html
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pandas as pd
options = Options()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
today = "2020-02-03"
url = "https://newsweb.oslobors.no/search?category=&issuer=&fromDate=2010-01-01&toDate=2020-02-03&market=&messageTitle="
driver=webdriver.Chrome(options=options)
driver.get(url)
while True:
WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.CSS_SELECTOR,'table.sc-frDJqD.iirWZt')))
table = driver.find_element_by_css_selector('table.sc-frDJqD.iirWZt')
table_html = table.get_attribute('outerHTML')
tables = read_html(table_html)[0]
print(tables)
if len(driver.find_elements_by_xpath("//li[@class='disabled']//a[text()='⟩']"))>0:
break;
else:
driver.execute_script("arguments[0].click();", driver.find_element_by_xpath("//li//a[text()='⟩']"))
Решение 2 даст вам один кадр данных, содержащий все записи.
from pandas.io.html import read_html
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pandas as pd
options = Options()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
today = "2020-02-03"
url = "https://newsweb.oslobors.no/search?category=&issuer=&fromDate=2010-01-01&toDate=2020-02-03&market=&messageTitle="
driver=webdriver.Chrome(options=options)
driver.get(url)
df=pd.DataFrame()
while True:
WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.CSS_SELECTOR,'table.sc-frDJqD.iirWZt')))
table = driver.find_element_by_css_selector('table.sc-frDJqD.iirWZt')
table_html = table.get_attribute('outerHTML')
tables = read_html(table_html)[0]
#print(tables)
df = df.append(tables, ignore_index=True)
if len(driver.find_elements_by_xpath("//li[@class='disabled']//a[text()='⟩']"))>0:
break;
else:
driver.execute_script("arguments[0].click();", driver.find_element_by_xpath("//li//a[text()='⟩']"))
print(df)
Вывод :
Tid ... Kategori
0 03.02.2020 15:47 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
1 03.02.2020 15:10 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
2 03.02.2020 14:43 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
3 03.02.2020 14:22 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
4 03.02.2020 14:21 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
5 03.02.2020 14:21 ... FLAGGINGFLAGGINGWWFLAGGING
6 03.02.2020 14:09 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
7 03.02.2020 13:36 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
8 03.02.2020 13:30 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
9 03.02.2020 13:22 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
10 03.02.2020 13:21 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
11 03.02.2020 13:21 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
12 03.02.2020 12:44 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
13 03.02.2020 12:14 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
14 03.02.2020 12:10 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
15 03.02.2020 11:52 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
16 03.02.2020 11:09 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
17 03.02.2020 11:09 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
18 03.02.2020 11:05 ... INNSIDEINFORMASJONINNSIDEINFORMASJONWWINNSIDEI...
19 03.02.2020 11:05 ... INNSIDEINFORMASJONINNSIDEINFORMASJONWWINNSIDEI...
20 03.02.2020 10:49 ... MELDING FRA ANDRE AKTØRERMELDING FRA ANDRE AKT...
21 03.02.2020 10:40 ... KAPITAL- OG STEMMERETTSENDRINGERKAPITAL- OG ST...
22 03.02.2020 10:37 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
23 03.02.2020 09:56 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
24 03.02.2020 09:30 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
25 03.02.2020 08:30 ... INNSIDEINFORMASJONINNSIDEINFORMASJONWWINNSIDEI...
26 03.02.2020 08:15 ... SÆRLIG OBSERVASJONSÆRLIG OBSERVASJONWWSÆRLIG O...
27 03.02.2020 08:14 ... SÆRLIG OBSERVASJONSÆRLIG OBSERVASJONWWSÆRLIG O...
28 03.02.2020 08:13 ... SÆRLIG OBSERVASJONSÆRLIG OBSERVASJONWWSÆRLIG O...
29 03.02.2020 08:12 ... SÆRLIG OBSERVASJONSÆRLIG OBSERVASJONWWSÆRLIG O...
.. ... ... ...
470 24.01.2020 13:51 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
471 24.01.2020 13:50 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
472 24.01.2020 13:50 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
473 24.01.2020 13:50 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
474 24.01.2020 13:50 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
475 24.01.2020 13:50 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
476 24.01.2020 13:47 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
477 24.01.2020 13:37 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
478 24.01.2020 13:37 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
479 24.01.2020 13:30 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
480 24.01.2020 13:15 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
481 24.01.2020 13:15 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
482 24.01.2020 13:07 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
483 24.01.2020 13:05 ... RENTEREGULERINGRENTEREGULERINGWWRENTEREGULERING
484 24.01.2020 13:05 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
485 24.01.2020 13:00 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
486 24.01.2020 12:50 ... INNSIDEINFORMASJONINNSIDEINFORMASJONWWINNSIDEI...
487 24.01.2020 12:35 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
488 24.01.2020 12:25 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
489 24.01.2020 12:14 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
490 24.01.2020 12:07 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
491 24.01.2020 12:03 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
492 24.01.2020 12:02 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
493 24.01.2020 11:59 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
494 24.01.2020 11:56 ... NOTERING / OPPTAK AV VERDIPAPIRERNOTERING / OP...
495 24.01.2020 11:47 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
496 24.01.2020 11:36 ... ANNEN INFORMASJONSPLIKTIG REGULATORISK INFORMA...
497 24.01.2020 10:39 ... INNSIDEINFORMASJONINNSIDEINFORMASJONWWINNSIDEI...
498 24.01.2020 10:06 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
499 24.01.2020 09:53 ... IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGERIKKE-...
[500 rows x 7 columns]