Java Selenium-如何单击这个span类
我无法为这个span类使用xpath。我需要点击链接Java Selenium-如何单击这个span类,java,html,testing,selenium-webdriver,automation,Java,Html,Testing,Selenium Webdriver,Automation,我无法为这个span类使用xpath。我需要点击链接 <span class="nav-selection">Ad Style</span> 我需要测试的部分的html代码 <ul class="nav nav-side-menu" style="top: 0px;"> <li class="shadow-layer"></li> <li> <a href="p
<span class="nav-selection">Ad Style</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>
从您发布的非常有限的信息来看,您可能希望:
driver.findElement(By.xpath("//span[@class='nav-selection']/parent::a"));
找到具有类
导航选择的span
元素,并转到该元素的父锚点。Span很少可点击,锚定是您想要点击的内容。从您发布的非常有限的信息中,您可能想要:
driver.findElement(By.xpath("//span[@class='nav-selection']/parent::a"));
找到具有类导航选择的span
元素,并转到该元素的父锚点。Span很少可点击,锚定是您想要点击的内容。从您发布的非常有限的信息中,您可能想要:
driver.findElement(By.xpath("//span[@class='nav-selection']/parent::a"));
找到具有类导航选择的span
元素,并转到该元素的父锚点。Span很少可点击,锚定是您想要点击的内容。从您发布的非常有限的信息中,您可能想要:
driver.findElement(By.xpath("//span[@class='nav-selection']/parent::a"));
找到具有类导航选择的span
元素,并转到该元素的父锚点。Span很少可单击,锚定是您要单击的内容。以下是另一个选项。在单击之前,您希望确保让图元加载。这是基于文本的搜索。另外,一种绕过具有相同类名或属性值的元素的好方法
WebElement heightClass = driver.findElement(By.xpath("//*[.='Ad Corner']/.."));
以下是另一个选项。在单击之前,您希望确保让图元加载。这是基于文本的搜索。另外,一种绕过具有相同类名或属性值的元素的好方法
WebElement heightClass = driver.findElement(By.xpath("//*[.='Ad Corner']/.."));
以下是另一个选项。在单击之前,您希望确保让图元加载。这是基于文本的搜索。另外,一种绕过具有相同类名或属性值的元素的好方法
WebElement heightClass = driver.findElement(By.xpath("//*[.='Ad Corner']/.."));
以下是另一个选项。在单击之前,您希望确保让图元加载。这是基于文本的搜索。另外,一种绕过具有相同类名或属性值的元素的好方法
WebElement heightClass = driver.findElement(By.xpath("//*[.='Ad Corner']/.."));
问题是您有两个驱动程序的实例。您在AddNewCampaign
中有一个实例。在LaunchParis
中有另一个driver
实例
因此,您在启动巴黎
中没有问题,因为您已经创建了一个本地驱动程序
,然后使用该驱动程序加载带有驱动程序的网页。get()
。之后,返回到主
,它仍然有一个未实例化的驱动程序
我不确定你的代码是如何构造的。只需从LaunchParis
中删除WebDriver
定义,您就可以清除此问题,或者您可能需要将driver
传递到LaunchParis
所以,可能是这样的:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
你会这样称呼它:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
我不完全确定在Java中如何工作,也就是说,如果分配localDriver=driver
将设置AddNewCampaign
的driver
实例。问题是您有两个driver
实例。您在AddNewCampaign
中有一个实例。在LaunchParis
中有另一个driver
实例
因此,您在启动巴黎
中没有问题,因为您已经创建了一个本地驱动程序
,然后使用该驱动程序加载带有驱动程序的网页。get()
。之后,返回到主
,它仍然有一个未实例化的驱动程序
我不确定你的代码是如何构造的。只需从LaunchParis
中删除WebDriver
定义,您就可以清除此问题,或者您可能需要将driver
传递到LaunchParis
所以,可能是这样的:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
你会这样称呼它:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
我不完全确定在Java中如何工作,也就是说,如果分配localDriver=driver
将设置AddNewCampaign
的driver
实例。问题是您有两个driver
实例。您在AddNewCampaign
中有一个实例。在LaunchParis
中有另一个driver
实例
因此,您在启动巴黎
中没有问题,因为您已经创建了一个本地驱动程序
,然后使用该驱动程序加载带有驱动程序的网页。get()
。之后,返回到主
,它仍然有一个未实例化的驱动程序
我不确定你的代码是如何构造的。只需从LaunchParis
中删除WebDriver
定义,您就可以清除此问题,或者您可能需要将driver
传递到LaunchParis
所以,可能是这样的:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
你会这样称呼它:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
我不完全确定在Java中如何工作,也就是说,如果分配localDriver=driver
将设置AddNewCampaign
的driver
实例。问题是您有两个driver
实例。您在AddNewCampaign
中有一个实例。在LaunchParis
中有另一个driver
实例
因此,您在启动巴黎
中没有问题,因为您已经创建了一个本地驱动程序
,然后使用该驱动程序加载带有驱动程序的网页。get()
。之后,返回到主
,它仍然有一个未实例化的驱动程序
我不确定你的代码是如何构造的。只需从LaunchParis
中删除WebDriver
定义,您就可以清除此问题,或者您可能需要将driver
传递到LaunchParis
所以,可能是这样的:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);
你会这样称呼它:
public class LaunchParis{
WebDriver localDriver;
//Launch PairsUI
public void LaunchParisUI(WebDriver driver) {
localDriver = driver;
localDriver = new FirefoxDriver();
//localDriver = new ChromeDriver();
localDriver.get("https://xfpqa1uiadm1");
localDriver.manage().window().maximize();
}
addCamp.LaunchParisUI(driver);