【问题标题】:Element Click Selenium Not Finding Button to Click元素单击 Selenium 未找到要单击的按钮
【发布时间】:2020-10-10 00:38:28
【问题描述】:

对于下面的 url,我尝试单击“1-50”按钮(它有自己的 xpath),然后单击“51-100”、“101-150”等按钮(它们都共享一个2nd 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

【问题讨论】:

    标签: python pandas selenium selenium-webdriver xpath


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 2023-01-06
      • 2011-02-18
      • 2021-03-29
      • 1970-01-01
      相关资源
      最近更新 更多