#python #pandas #selenium #selenium-webdriver #xpath
#python #панды #селен #selenium-webdriver #xpath
Вопрос:
Для приведенного ниже URL-адреса я пытаюсь нажать кнопку «1-50» (которая имеет свой собственный xpath), А затем кнопки «51-100», «101-150» и т. Д. (Все они имеют 2-й xpath), Но мой код, похоже, не может нажать на кнопку. Кто-нибудь может это понять? Приветствия!
import pandas as pd
import time
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Chrome()
url = 'www.sec.gov/securities/files/year/'
page = driver.get(url)
time.sleep(2)
df_appended = []
df = pd.read_html(driver.page_source)[0]
df_appended.append(df)
time.sleep(2)
driver.find_element_by_xpath('//[@id="ctl00_m_g_00806bcd_0028_4082_9797_52f6f350e592_updatePanelctl00_m_g_00806bcd_0028_4082_9797_52f6f350e592"]/table[2]/tbody/tr/td/a/img').click
time.sleep(2)
for i in range(1,3):
df = pd.read_html(driver.page_source)[0]
df_appended.append(df)
driver.find_element_by_xpath('//*[@id="ctl00_m_g_00806bcd_0028_4082_9797_52f6f350e592_updatePanelctl00_m_g_00806bcd_0028_4082_9797_52f6f350e592"]/table[2]/tbody/tr/td/a[3]/img').click()
time.sleep(1)
df_appended
Ответ №1:
Работает нормально, если вы использовали тег A.
driver.find_element_by_xpath('//table[2]/tbody/tr/td/a').click()
time.sleep(2)
for i in range(1,3):
df = pd.read_html(driver.page_source)[0]
df_appended.append(df)
driver.find_element_by_xpath('//table[2]/tbody/tr/td/a[3]').click()
time.sleep(1)