【问题标题】:How to click on the Span class element如何点击 Span 类元素
【发布时间】:2014-09-13 06:57:03
【问题描述】:

我需要找到编辑器的 HTML 代码。

<span class="td-creative-name"></span>

<div class="editors pull-right" style="visibility: visible;">

    <ul id="editorList">
        <li></li>
        <li></li>
        <li>
            <span class="dc-url omedia-link" title="" data-placement="top" rel="tooltip" data-toggle="tooltip" data-original-title="Creative URL"></span>
        </li>
        <li></li>
    </ul>

我想点击此处的“广告素材网址”。你能帮我写代码吗?我无法使它工作。

【问题讨论】:

  • 除了您已经发布的HTML之外,您还可以发布您迄今为止尝试过的硒代码吗?我很好奇您使用的是旧的 selenium 还是 Selenium 2 (WebDriver)。
  • 嗨,我试过这个java代码。 WebDriverWait wait3 = new WebDriverWait(wd, 300); wait3.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[contains(@class,'dc-url omedia-link')]"))); wd.findElement(By.xpath("//*[contains(@class,'dc-url omedia-link')]")).click();但这并没有做任何动作。你能帮忙让它工作吗?

标签: java html testing selenium automation


【解决方案1】:

使用jquery将id放在span中尝试下面的代码

$("#myspan").click(function(){
alert('I got a click');
});

谢谢 摩诃

【讨论】:

  • 嗨,我试过这个java代码。 WebDriverWait wait3 = new WebDriverWait(wd, 300); wait3.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[contains(@class,'dc-url omedia-link')]"))); wd.findElement(By.xpath("//*[contains(@class,'dc-url omedia-link')]")).click();但这并没有做任何动作。你能帮忙让它工作吗?
【解决方案2】:

HTML &lt;span&gt; 元素有一个您可以使用的onclick 属性。例如,请参阅以下 jfiddle:http://jsfiddle.net/tpHr3/1/

在您的情况下,您想填写span 标签的onclick 属性:

<span class="dc-url omedia-link" title="" 
      data-placement="top" rel="tooltip" 
      data toggle="tooltip" data-original-title="Creative URL" 
      onclick="yourFunction();"></span>

【讨论】:

  • 嗨,我试过这个java代码。 WebDriverWait wait3 = new WebDriverWait(wd, 300); wait3.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[contains(@class,'dc-url omedia-link')]"))); wd.findElement(By.xpath("//*[contains(@class,'dc-url omedia-link')]")).click();但这并没有做任何动作。你能帮忙让它工作吗?
【解决方案3】:

http://jsfiddle.net/XWzke/

$("#editorList li span").click(function(){
    alert('clicked');
});

【讨论】:

  • 嗨,我试过这个java代码。 WebDriverWait wait3 = new WebDriverWait(wd, 300); wait3.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[contains(@class,'dc-url omedia-link')]"))); wd.findElement(By.xpath("//*[contains(@class,'dc-url omedia-link')]")).click();但这并没有做任何动作。你能帮忙让它工作吗?
【解决方案4】:

如果您使用的是 selenium,那么您可以找到该元素并单击它,

driver.findElement(By.xpath("//*[@class='dc-url omedia-link')]")).click();

注意:如果我提到的 xpath 不起作用,请使用 css 选择器或任何其他。

【讨论】:

  • 嗨,我试过这个java代码。 WebDriverWait wait3 = new WebDriverWait(wd, 300); wait3.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[contains(@class,'dc-url omedia-link')]"))); wd.findElement(By.xpath("//*[contains(@class,'dc-url omedia-link')]")).click();但这并没有做任何动作。你能帮忙让它工作吗?
  • @AutoMationBegginer 元素是否存在?你的等待失败了吗?使用 visibilityOfElementLocated 代替 presentOfElementLocated 并尝试。
  • 它不起作用。它不做任何动作,也不抛出任何错误..任何想法
  • @AutoMationBegginer 使用 isDisplayed/size() 检查元素是否存在,如果它没有显示,或者它在其他框架中,等等
猜你喜欢
  • 2022-01-06
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 2016-09-03
  • 2019-05-04
  • 1970-01-01
  • 2017-11-23
  • 2020-08-02
相关资源
最近更新 更多