Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何定位要执行单击的图元_Selenium_Xpath - Fatal编程技术网

Selenium 如何定位要执行单击的图元

Selenium 如何定位要执行单击的图元,selenium,xpath,Selenium,Xpath,我正在尝试在站点中导航: 我想点击创业公司的链接,但是我找不到元素 我试过: elem = driver.findElement(By.xpath("//a[contains(text(),'Startups')]")); 及 在这两种情况下,我都会出现“无法定位元素”错误 表达式中有什么错误,如何定位元素以执行单击。地图位于iframe中,您可能没有告诉Selenium在其中查看。我也会寻找span标记,由于id-listbtoggle被多次使用(设计糟糕,使其毫无价值),所以只需寻找包含初

我正在尝试在站点中导航: 我想点击创业公司的链接,但是我找不到元素

我试过:

elem = driver.findElement(By.xpath("//a[contains(text(),'Startups')]"));

在这两种情况下,我都会出现“无法定位元素”错误


表达式中有什么错误,如何定位元素以执行单击。

地图位于iframe中,您可能没有告诉Selenium在其中查看。我也会寻找span标记,由于id-listbtoggle被多次使用(设计糟糕,使其毫无价值),所以只需寻找包含初创公司的代码

// Also should probably use a wait here, in case the page takes too long to load
chromeDriver.switchTo().frame(chromeDriver.findElement(By.tagName("iframe")));
WebElement elem = chromeDriver.findElement(By.xpath("//span[contains(text(),'Startups')]")); 

地图在一个iframe中,您可能没有告诉Selenium查看那里。我也会寻找span标记,由于id-listbtoggle被多次使用(设计糟糕,使其毫无价值),所以只需寻找包含初创公司的代码

// Also should probably use a wait here, in case the page takes too long to load
chromeDriver.switchTo().frame(chromeDriver.findElement(By.tagName("iframe")));
WebElement elem = chromeDriver.findElement(By.xpath("//span[contains(text(),'Startups')]")); 

地图在一个iframe中,您可能没有告诉Selenium查看那里。我也会寻找span标记,由于id-listbtoggle被多次使用(设计糟糕,使其毫无价值),所以只需寻找包含初创公司的代码

// Also should probably use a wait here, in case the page takes too long to load
chromeDriver.switchTo().frame(chromeDriver.findElement(By.tagName("iframe")));
WebElement elem = chromeDriver.findElement(By.xpath("//span[contains(text(),'Startups')]")); 

地图在一个iframe中,您可能没有告诉Selenium查看那里。我也会寻找span标记,由于id-listbtoggle被多次使用(设计糟糕,使其毫无价值),所以只需寻找包含初创公司的代码

// Also should probably use a wait here, in case the page takes too long to load
chromeDriver.switchTo().frame(chromeDriver.findElement(By.tagName("iframe")));
WebElement elem = chromeDriver.findElement(By.xpath("//span[contains(text(),'Startups')]")); 

您可以执行以下操作:

WebDriver driver = new FirefoxDriver();
driver.get("http://startupnationbook.com/");
driver.findElement(By.xpath(".//*[@id='main-nav']/li[5]/a")).click();

希望这能奏效。我已经测试过了。

您可以执行以下操作:

WebDriver driver = new FirefoxDriver();
driver.get("http://startupnationbook.com/");
driver.findElement(By.xpath(".//*[@id='main-nav']/li[5]/a")).click();

希望这能奏效。我已经测试过了。

您可以执行以下操作:

WebDriver driver = new FirefoxDriver();
driver.get("http://startupnationbook.com/");
driver.findElement(By.xpath(".//*[@id='main-nav']/li[5]/a")).click();

希望这能奏效。我已经测试过了。

您可以执行以下操作:

WebDriver driver = new FirefoxDriver();
driver.get("http://startupnationbook.com/");
driver.findElement(By.xpath(".//*[@id='main-nav']/li[5]/a")).click();
希望这能奏效。我已经测试过了