Selenium:使用 selenium chrome 驱动程序和 python 进行 Web 划痕

Selenium: Web scarping using selenium chrome driver and python

提问人:AKS 提问时间:2/22/2023 最后编辑:AKS 更新时间:2/23/2023 访问量:53

问:

我是selenium的新手,目前正处于从网站提取数据的过程中,例如:“https://asc.gov/appraiser”。导航类似于“website->快速搜索->应用->下载”。我想将“下载”输出(300k 结果)指向 excel 或 csv 中的特定目录。为了获得输出,我正在应用以下过程,但被卡住了。请建议提取数据的最佳方法。

from selenium import webdriver
from selenium.webdriver.support.ui import Select

driver = webdriver.Edge(executable_path='C:/Users/chromedriver.exe')
driver.get('https://asc.gov/appraiser')
driver.find_element_by_xpath("//input[@quicksearch-page1='TSVRadioButton']").click()quicksearchtable
driver.find_element_by_xpath("//*[@class='Downloader']").click()

download = driver.find_element_by_id("Download_0")
driver.execute_script("arguments[0].click();", download)
python selenium-webdriver 网页抓取 selenium-chromedriver chrome-options

评论

0赞 Shawn 2/22/2023
你能用你得到的错误更新你的问题吗?

答:

0赞 Shawn 2/22/2023 #1

假设您的用例是:

打开 URL --> 单击“应用” --> 单击“下载” --> 单击“Excel”单选按钮 --> 单击下载

请尝试以下代码:

driver.get('https://asc.gov/appraiser')
#Below line clicks Apply button
driver.find_element(By.XPATH, '//span[text()="Apply"]').click()
#Below line clicks Download button
driver.find_element(By.XPATH, '//a[text()="Download"]').click()
#Below line clicks on excel radio button
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'excel'))).click()
#Below line clicks Download button
driver.find_element(By.ID, 'download').click()