【问题标题】:Downloading Excel file with using Selenium and C#使用 Selenium 和 C# 下载 Excel 文件
【发布时间】:2020-05-17 19:27:21
【问题描述】:

我想在网站上下载 Excel 文件,但我认为我做错了什么。我有 HTML 代码:

<label class="pager">
<input onclick="excelForm.submit()" type="image" value="Excel" src="/YeniSistem/images/Excel_Document_Icon.png">
</label>

我想使用 Selenium 执行此操作我想使用 C# 单击该输入。我尝试了很多方法,例如:

driver.FindElement(By.XPath(".//html/body/div/div/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/div/div/label[2]/input")).Click();

和:

 driver.FindElements(By.XPath(".//div[@id='contentContainer']/div/table/tbody/tr[2]/td/table/tbody/tr[2]")).Click();

和:

driver.FindElements(By.XPath(".//input[contains(@value , 'Excel')]")).Click();

我还在 XPath 前面尝试了没有. 的先前代码。请帮我解决这个问题。

【问题讨论】:

  • 这里到底有什么问题?点击时是否出现错误?
  • 这里的问题是我无法点击 XPath 位置,我收到类似OpenQA.Selenium.NoSuchElementException: 'no such element: Unable to locate element: {"method":"xpath","selector":".//html/body/div/div/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/div/div/label[2]/input"} (Session info: chrome=79.0.3945.130)' 的错误
  • 你试过XPath:.//label[@class='pager']/input吗?
  • 是的,我试过也没有工作。 HTML 中有多个“寻呼机”类。

标签: c# html visual-studio selenium-webdriver xpath


【解决方案1】:

根据您的代码,我了解到您正在尝试下载 excel 文件而不是 XPath,您可以使用以下代码:

WebClient client = new WebClient();
client.DownloadFile("link here",@"file_path.xlsx");

【讨论】:

  • 是的,就是我想做的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 2017-01-24
相关资源
最近更新 更多