我有一些数据,我需要从一个URL,但唯一的方法是通过下载。下面的代码适用于特定网站的某些实例,但其他时候,它打开浏览器,导航到站点,然后什么也没有。我尝试过各种WebDriverWait实例,但这似乎并不重要。我希望有人能帮我找出问题出在哪里,因为我几乎迷路了。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
bs_url = "https://baseballsavant.mlb.com/statcast_search?hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7C&hfC=&hfSea=2016%7C&hfSit=&player_type=batter&hfOuts=&opponent=&pitcher_throws=L&batter_stands=&hfSA=&game_date_gt=&game_date_lt=&team=&position=&hfRO=&home_road=&hfFlag=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0#results"
driver = webdriver.Chrome()
driver.wait = WebDriverWait(driver, 5)
driver.get(bs_url)
driver.wait = WebDriverWait(driver, 5)
Stats = driver.find_element_by_id("table_all_pid_").click()
driver.wait = WebDriverWait(driver, 5)
driver.quit()HTML:
>% of Pitches</th>
<th colspan="1"></th>
<th title="Create Chart Comparison" class="table-icon visual" id="compare_all_pid_"><img src="site-core/images/chart_curve.png" /></th>
<th title="Download Results Comma Separated Values File" class="table-icon csv_table" id="table_all_pid_"><img src="site-core/images/disk.png" /></th>
<th title="Download Data as Comma Separated Values File" class="table-icon csv" id="csv_all_pid_"><img src="site-core/images/database_link.png" /></th>
</tr>
</thead>发布于 2018-04-16 09:34:49
要单击标题为下载结果的元素逗号分隔值文件,可以使用以下代码块:
css_selector:
driver.find_element_by_css_selector("th.table-icon.csv_table#table_all_pid_title='Download结果逗号分隔值.click‘> img").click()xpath:
driver.find_element_by_xpath("//th@class='table-icon csv_table‘和@id='table_all_pid_’和@csv_table=‘下载数据为逗号分隔值文件’/img“).click()https://stackoverflow.com/questions/49847299
复制相似问题