我想打開網頁上的鏈接。該鏈接似乎位於標籤中的無序列表中。網頁的網址是selftechy dot com。這些標籤在家中,大約是硒。使用Java的WebDriver - 單擊以使用xpath打開鏈接
我試圖用driver.findElement(By.linkText("Selenium"));
打開鏈接,但頁面似乎失去了它的樣式。我也嘗試過使用xpath方法,但它也不起作用。請向我解釋爲什麼它不起作用,我應該如何修改代碼以使其正常工作。謝謝你的幫助。
HTML代碼片段:
<body class="custom">
<div id="container">
<div id="page">
<ul class="menu">
<li class="tab tab-home current"><a href="http://selftechy.com">Home</a></li>
<li class="tab tab-1"><a href="http://selftechy.com/about" title="About">About</a></li>
<li class="tab tab-2"><a href="http://selftechy.com/selenium-2" title="Selenium">Selenium</a></li>
</ul>
webdriver的代碼來打開
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.junit.Before;
import org.junit.After;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class selftechyTestng
{
private WebDriver driver;
private String baseUrl;
@Before
public void setUp() throws Exception
{
driver = new FirefoxDriver();
baseUrl = "http://selftechy.com/";
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@Test
public void searchElements() throws Exception{
driver.get(baseUrl);
//use By.linkText method the page lost its styling
driver.findElement(By.linkText("Selenium"));
//use xpath method to open the link doesn't work either
List<WebElement> elements = driver.findElements(By.xpath("//div[@id=page]/*[3]")).click();
driver.findElement(By.xpath("//div[@id=page]/*[3]")).click();
}
}
您的xpaths可能有問題。在嘗試調試您的webdriver腳本之前,請嘗試使用[firepath](https://addons.mozilla.org/en-US/firefox/addon/firepath/)確認您的xpath確實可以識別您的屏幕元素。 –