对于下面的网址,我试图单击“ 1-50”按钮(具有自己的xpath),然后单击“ 51-100”,“ 101-150”等按钮(它们都共享一个第二个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
答案 0 :(得分:0)
如果使用标记,则运行正常。
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)