我有一个网站,我想在其中下载Excel文件。 https://www.rivm.nl/media/smap/eenzaamheid.html
我希望能够单击菜单中的下载按钮。要打开“下载菜单”(如果需要,请打开下拉菜单),我正在执行以下操作:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='highcharts-container ']//*[name()='svg']//*[name()='g' and @aria-label='View export menu']//*[name()='rect']"))).click()
打开菜单后,我希望能够单击“ XLS Downloaden”(因为我要使用Excel文件,因此非常具体)
我尝试通过执行以下操作在div元素中查找文本来单击按钮:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH("//*[contains(text(),'XLS downloaden')]")))).click()
但这会导致“对象不可调用”错误
我也尝试了以下方法,但这会导致超时错误:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='highcharts-menu-item ']//*[name()='svg']//*[contains(text(),'XLS downloaden')]"))).click()
那么,我该如何点击“ XLS downloaden”?
答案 0 :(得分:0)
经过反复试验,我自己找到了一种方法:
download = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='highcharts-container ']//*[name()='svg']//*[name()='g' and @aria-label='View export menu']//*[name()='rect']")))
download.click()
WebDriverWait(download, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='highcharts-menu']//*[contains(text(),'XLS downloaden')]"))).click()
如果有人知道更好的方法,请告诉我