硒|无法单击<span>下的元素

时间:2015-10-27 05:55:31

标签: selenium selenium-webdriver

我是Selenium的新手。我正在尝试单击子菜单选项,其中包含以下代码:

&#13;
&#13;
<div class="nav-level nav-level-open">
  <ul id="menu_0af0fc80e81924533d028c395adb60e8">
    <li class="nav-item">
      <a class="" href="?s=jobs&ss=jobs&mode=list">
        <i class="icn-next" aria-hidden="true"></i>
        <span> All Jobs - jobs/ internships/ campus interviews</span>
      </a>
    </li>
&#13;
&#13;
&#13;

我正在尝试点击此处标记的按钮,&#34;所有工作 - 工作/实习/校园面试&#34;。作为菜单,有多个具有相同类名的链接。我更喜欢使用Css定位器或Xpath定位元素。有人可以帮助我吗?

5 个答案:

答案 0 :(得分:0)

首先在firefox中安装FirePath插件,然后使用firepath检查按钮。请尝试使用以下代码 -

driver.findElement(By.xpath("//copy paste the xpath here")).click(); //driver is the reference of WebDriver interface.

答案 1 :(得分:0)

driver.FindElement(By.XPath("//ul[@id='menu_0af0fc80e81924533d028c395adb60e8']/li/a")).Click();

答案 2 :(得分:0)

试试这个:

WebDriver driver = new FirefoxDriver();
WebeElement element ;

element = driver.findElement(By.xpath("//*[ul[@id='menu_0af0fc80e81924533d028c395adb60e8']/li/a"); 
driver.click;

答案 3 :(得分:0)

尝试下面的xpath,我假设字符串&#34;所有工作 - 工作/实习/校园面试&#34;不在网页中重复

driver.findElement(By.xpath("//span[contains(text(),' All Jobs - jobs/ internships/ campus interviews')]"));

您可以使用上述策略查找目标元素。如果元素的显示字符串未在网页中重复

答案 4 :(得分:0)

试试这个:

driver.findElement(By.xpath("//span[contains(text(),' All Jobs - jobs/ internships/ campus interviews')]"));