需要点击跨度

时间:2018-06-25 11:50:25

标签: java selenium selenium-webdriver xpath css-selectors

我需要点击“购买”

HTML如下:

<li class="treeview"> <a href="#"> <i class="fa fa-share"></i> <span>Purchase</span> <span class="pull-right-container"> <i class="fa fa-angle-left pull-right"></i> </span> </a> <ul class="treeview-menu" style="display: none;"> <li class="treeview "><i class="fa fa-circle-o"></i> Purchase Request</a></li>

我尝试过:

WebElement purchase = driver.findElement(By.tagName("span"));
purchase.click()

但不起作用:请帮助我,我是硒的初学者

3 个答案:

答案 0 :(得分:0)

要单击文本链接为购买的链接,可以使用以下解决方案:

driver.findElement(By.xpath("//li[@class='treeview']/a//span[contains(.,'Purchase')]")).click();

答案 1 :(得分:0)

基于您共享的 HTML ,您可以尝试以下 xpath

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[text()='Purchase']/parent::a"))).click()

答案 2 :(得分:0)

您可以使用CSS选择器:

driver.findElement(By.cssSelector(".treeview a")).click();