C# 如何使用HTMLAgilityPack在站点内搜索,并更改搜索URL

C# 如何使用HTMLAgilityPack在站点内搜索,并更改搜索URL,c#,.net,search,xpath,html-agility-pack,C#,.net,Search,Xpath,Html Agility Pack,我正在创建一个项目,在联想网站()上搜索特定的驱动程序。如果找到合适的产品类别,此网站会在键入时更改搜索URL 这意味着,例如,如果您搜索它使用的“ideapad”: 如果搜索“T540p 20BE”,Url将更改为: 首先,我尝试使用上面的url。返回一个Json文件,该文件包含该设备所有模型类型的进一步信息。不是我需要的回应 我需要的是一种方法来获取某些给定模型的所有可用驱动程序。 作为对搜索的响应,您将获得一个Html文档,其中包含嵌入Html页面中的所有驱动程序: !] 我用sel

我正在创建一个项目,在联想网站()上搜索特定的驱动程序。如果找到合适的产品类别,此网站会在键入时更改搜索URL

这意味着,例如,如果您搜索它使用的“ideapad”:

如果搜索“T540p 20BE”,Url将更改为:

首先,我尝试使用上面的url。返回一个Json文件,该文件包含该设备所有模型类型的进一步信息。不是我需要的回应

我需要的是一种方法来获取某些给定模型的所有可用驱动程序。 作为对搜索的响应,您将获得一个Html文档,其中包含嵌入Html页面中的所有驱动程序:

!]

我用selenium尝试了不同的方法,这些方法都很有效,但我的应用程序需要一种usabel方法。我尝试使用HTMLAgilityPack和xpath,但没有遇到更改搜索URL的问题

如何获取版本和下载链接??

更新:下面是一些示例代码。在无法获得get语句的正确语法后,我尝试在inputbox中输入searchtext

  • 目标:能够将搜索文本粘贴到联想网站的输入框中,或克服不断变化的URL(如上所述)

  • 从生成的driverpage中提取所需信息


  • 编辑:只需删除不需要的代码部分。有人能给我一个关于这方面工作方法的提示吗。如果HtmlWeb不是最佳解决方案,您会选择什么?

    您需要查询相应的元素并获得所需的值。例如,对于版本,您需要查询版本DOM元素(带有标记、css类或任何其他属性),并获取
    InnerText
    属性。对于下载链接,您需要查询下载元素并获得
    href
    属性

    如果您在开发过程中遇到任何问题,请将代码添加到问题中,让我们了解您正在做什么以及您正在查询什么


    编辑:关于url搜索部分。首先,您需要了解您的
    HtmlDocument
    不是浏览器,您无法通过填写网站中的文本框来搜索产品。您需要找到其他方法来查找插入产品的相应url。一种选择是从所有可用的搜索URL中获取数据,组合这些数据,然后在组合的URL中进行搜索。

    你好,鲁本,我更新了我的问题。在决定如何以您提到的方式获取链接之前,我必须克服搜索问题。