如何单击位于另一个跨度内的跨度内的按钮?
How to click a button located within a span within another span?
我尝试使用 xpath、cssSelector 和 id 查找元素。似乎没有任何效果。
<span class="a-button a-spacing-top-mini s-small-margin-left" id="a-autoid-60">
<span class="a-button-inner">
<input class="a-button-input" type="submit" value="Go" aria-labelledby="a-autoid-60-announce">
<span class="a-button-text" aria-hidden="true" id="a-autoid-60-announce">Go</span>
</span>
</span>
为输入提交按钮添加一个id。也就是说:
<input id="mySubmitButton" class="a-button-input" type="submit" ....
那么你应该可以做到:
driver.findElement(By.id("mySubmitButton")).click();
但是,如果您出于某种原因真的不想添加 id,只需通过 cssSelector 搜索:
driver.findElement(By.cssSelector("#a-autoid-60 .a-button-inner input")).click();
你试过用值定位吗?如果没有,那么您可以使用:
driver.findElement(By.value("GO")).click;
您可以将 cssSelector 用作:
driver.findElement(By.cssSelector("span[class$='button-inner']>input"))
您可以使用 Xpath 作为:
//input[contains(@class,'button-input')][@value='Go']
注 :
- 你应该总是先选择 ID,然后是 className,value,tagName , linkText , partialLinkText ,然后是 cssSelector 如果没有任何效果然后 Xpath
- 您的 ID 问题是,它包含 数字,我们不知道它何时会更改,因此 ID 不一致 在你的情况下。
希望对您有所帮助!
如果您对此有任何疑虑,请告诉我。
我尝试使用 xpath、cssSelector 和 id 查找元素。似乎没有任何效果。
<span class="a-button a-spacing-top-mini s-small-margin-left" id="a-autoid-60">
<span class="a-button-inner">
<input class="a-button-input" type="submit" value="Go" aria-labelledby="a-autoid-60-announce">
<span class="a-button-text" aria-hidden="true" id="a-autoid-60-announce">Go</span>
</span>
</span>
为输入提交按钮添加一个id。也就是说:
<input id="mySubmitButton" class="a-button-input" type="submit" ....
那么你应该可以做到:
driver.findElement(By.id("mySubmitButton")).click();
但是,如果您出于某种原因真的不想添加 id,只需通过 cssSelector 搜索:
driver.findElement(By.cssSelector("#a-autoid-60 .a-button-inner input")).click();
你试过用值定位吗?如果没有,那么您可以使用:
driver.findElement(By.value("GO")).click;
您可以将 cssSelector 用作:
driver.findElement(By.cssSelector("span[class$='button-inner']>input"))
您可以使用 Xpath 作为:
//input[contains(@class,'button-input')][@value='Go']
注 :
- 你应该总是先选择 ID,然后是 className,value,tagName , linkText , partialLinkText ,然后是 cssSelector 如果没有任何效果然后 Xpath
- 您的 ID 问题是,它包含 数字,我们不知道它何时会更改,因此 ID 不一致 在你的情况下。
希望对您有所帮助! 如果您对此有任何疑虑,请告诉我。