【问题标题】:Cannot click on the element ..not able to identify it无法点击元素..无法识别它
【发布时间】:2018-03-15 05:12:01
【问题描述】:
<div class="navpage-header-content">
<form action="textsearch.do" role="search" method="GET" class="form-inline navpage-global-search ng-non-bindable" aria-label="Global Search" target="gsft_main">
<input name="sysparm_ck" id="sysparm_ck" type="hidden" value="052ab09a0fa90700fa38563be1050e0fea31866160e7a5e6e0fc925775df282f070903d6"><div class="input-group-transparent">
<input name="sysparm_search" id="sysparm_search" placeholder="Search" type="search" class="form-control form-control-search">
<label for="sysparm_search" title="" data-original-title="Search">
<span class="input-group-addon-transparent icon-search sysparm-search-icon"></span>
</label></div></form></div>

这是元素的 HTML 标记。

WebElement ele1 = driver.findElement(By.xpath("//span[@class='input-group-addon-transparent icon-search sysparm-search-icon']"));
ele1.click();

但我的脚本无法找到该元素并单击它。

我尝试了操作,Java 脚本执行器,但我无法单击元素。

【问题讨论】:

  • 请花几分钟时间编辑您的问题,以正确格式化代码和 HTML,使其可读。
  • 欢迎来到 Stack Overflow!请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
  • 能分享一下相关的HTML吗?
  • 你到底想要什么元素

标签: selenium webdriver


【解决方案1】:

其实你是在定位span,你应该定位input标签点击搜索textbox,应该是这样的:

WebElement SearchBox=driver.findElement(By.id("sysparm_search"));
SearchBox.click();

您也可以使用xpaths 来定位它:

  //*[@id='sysparm_search']
  //input[@id='sysparm_search']
  //input[@name='sysparm_search']

将此代码用于 xpath:

WebElement SearchBox=driver.findElement(By.xpath("//*[@id='sysparm_search']"));
SearchBox.click();

您也可以使用name 来定位它

使用此代码作为名称:

WebElement SearchBox=driver.findElement(By.name("sysparm_search"));
SearchBox.click();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    相关资源
    最近更新 更多