元素单击硒找不到按钮单击

时间:2020-10-10 00:38:28

标签: python pandas selenium selenium-webdriver xpath

对于下面的网址,我试图单击“ 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

1 个答案:

答案 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)