【发布时间】:2015-01-16 05:59:45
【问题描述】:
我无法为这个 span 类使用 xpath。我需要点击链接。
<span class="nav-selection">Ad Style</span>
我一直在尝试使用这种方法:
WebElement heightClass = driver.findElement(By.xpath("/html/body/div[3]/div/div[1]/div[2]/ul/li[3]/a/span"));
我需要测试的部分的 html 代码。
<ul class="nav nav-side-menu" style="top: 0px;">
<li class="shadow-layer"></li>
<li>
<a href="portal.do?portalCategory=analyst">
<i class="icon-photon dashboard"></i>
<span class="nav-selection">Dashboard</span>
</a>
</li>
<li>
<a href="javascript:;" class="sub-nav-container">
<i class="icon-photon adcorner"></i>
<span class="nav-selection">Ad Corner</span>
<i class="icon-menu arrow"></i> </a>
<div class="sub-nav adCorner">
<ul class="nav">
<li class="menu-add">
<a href="showstatusreports.do">Status Reports</a>
</li>
<li class="menu-add">
<a href="listinsertion.do">Insertion Order</a>
</li>
<li class="menu-add">
<a href="campaignWrapper.do?processpath=defaultPage&camStatus=L">Campaigns</a>
<i class="icon-add" title="create new campaign" rel="createCampaign"></i>
</li>
<li class="menu-add">
<a href="campaigncreatepage.do">Tags</a>
</li>
<li class="menu-add">
<a href="viewcreative.do">View Creative</a>
</li>
</ul>
</div>
</li>
感谢您的帮助!请告诉我。
这就是我在 Eclipse 中写的。请仔细阅读并告诉我。谢谢。
//class to run the test
public class AddNewCampaign extends TestLogin{
WebDriver driver;
public static void main(String[] args) {
AddNewCampaign addCamp = new AddNewCampaign();
addCamp.LaunchParisUI();
addCamp.loginCredentials();
addCamp.addCampaign();
}
//method to add campagin
public void addCampaign() {
WebElement heightclass = driver.findElement(By.xpath("//*[.='Ad Corner']/.."));
WebElement linkCampaigns = driver.findElement(By.xpath("/html/body/div[3]/div/div[1]/div[2]/ul/li[3]/div/ul/li[3]/a"));
WebDriverWait wait = new WebDriverWait(driver, 10);
Actions builder = new Actions(driver);
builder.moveToElement(heightclass).perform();
wait.until(ExpectedConditions.visibilityOf(linkCampaigns));
builder.moveToElement(linkCampaigns).click().perform();
}
//class the launch the url
public class LaunchParis{
WebDriver driver;
//Launch PairsUI
public void LaunchParisUI() {
driver = new FirefoxDriver();
//driver = new ChromeDriver();
driver.get("https://xfpqa1uiadm1");
driver.manage().window().maximize();
}
【问题讨论】:
-
您遇到了什么问题?没有结果?例外?如果是异常,那是什么异常?顺便说一句,那个 xpath 相当脆弱。如果您编辑帖子并添加更多 html,可能有人会建议更好的选择器。
-
线程“main”java.lang.NullPointerException中的异常
-
嗨,理查德,我在原始帖子中添加了 html。谢谢
-
我在您的 html 中没有看到广告样式,但我假设您正在搜索广告角。如果是这样,请参阅下面的答案
-
NullPointerException可能意味着您正在访问的对象是null。你能发布更多你的代码吗?
标签: java html testing selenium-webdriver automation