Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Span类XPath中的C#Selenium按钮(Amazon.com)_C#_Selenium_Xpath - Fatal编程技术网

Span类XPath中的C#Selenium按钮(Amazon.com)

Span类XPath中的C#Selenium按钮(Amazon.com),c#,selenium,xpath,C#,Selenium,Xpath,我正在尝试在C#中创建一个合适的XPATH语法,以单击亚马逊商业网站上的下载按钮。我试过的所有东西都找不到按钮。以下是我尝试过的一些方法: driver.FindElement(By.XPath("//button[@type='submit']")).Submit(); driver.FindElement(By.XPath("//span[contains(@class,'a-button-inner')][contains(text(),'downloadCSV_button-annou

我正在尝试在
C#
中创建一个合适的
XPATH
语法,以单击亚马逊商业网站上的下载按钮。我试过的所有东西都找不到按钮。以下是我尝试过的一些方法:

driver.FindElement(By.XPath("//button[@type='submit']")).Submit();

driver.FindElement(By.XPath("//span[contains(@class,'a-button-inner')][contains(text(),'downloadCSV_button-announce')]")).Submit(); 

driver.FindElement(By.XPath("//span[contains(@class,'a-button-inner')][contains(text(),'Download CSV')]")).Submit();
下面是来自Amazon页面的源代码。有人能帮我设计合适的XPATH查询来点击这个下载按钮吗?多谢各位

<h1>Amazon Business Analytics</h1>
<div class="a-row a-spacing-medium a-grid-vertical-align a-grid-center">
    <div class="a-column a-span12">
        <span class="a-declarative" data-action="aba:download-csv" data-aba:download-csv="{}">
            <span id="downloadCSV_button" class="a-button aok-float-right"><span class="a-button-inner"><input class="a-button-input" type="submit" aria-labelledby="downloadCSV_button-announce"><span id="downloadCSV_button-announce" class="a-button-text" aria-hidden="true">Download CSV</span></span></span>
        </span>
亚马逊商业分析
下载CSV

您应该尝试使用执行单击元素,如下所示:-

driver.FindElement(By.CssSelector("input.a-button-input[aria-labelledby = 'downloadCSV_button-announce']")).Click();
或者,如果
span
元素可单击,请尝试:-

driver.FindElement(By.Id("downloadCSV_button-announce")).Click();


你用CssSelector的第一个答案非常有效。谢谢你的帮助。我能问你答案的后续问题吗?如果我想在寻找同一个标签时使用通配符,我如何才能做到这一点?比如说,我没有寻找“downloadcv_button-announce”,而是寻找“download*”,那里*不在乎最后还有什么。我该怎么做?谢谢你的帮助!如果你能问另一个问题,我或其他人会在那里给你答案,谢谢..谢谢先生。
driver.FindElement(By.Id("downloadCSV_button")).Click();