java - 如何使用 Selenium ChromeDriver 从 span 类获取文本

标签 java html selenium xpath selenium-chromedriver

我在 stackoverflow 上查看了类似的问题,但没有找到任何可以帮助我的问题。

我有以下 html 代码:

<span class="help-block ng-scope" translate="">Company</span>

我怎样才能找到这个元素(Java)?我尝试了以下变体:

driver.findElement(By.cssSelector(".help-block.ng-scope"))

driver.findElement(By.xpath("//span[contains(@class, "Company")]"))

我什至尝试通过两种方式从浏览器控制台复制 xpath:

首先:

driver.findElement(By.xpath("//*[@id="ngCloudike"]/body/div[6]/div/div/div/div/form/div[1]/div[6]/span"))

第二个:

driver.findElement(By.xpath("/html/body/div[6]/div/div/div/div/form/div[1]/div[6]/span"))

我也试图找到 By.ClassName,但我做不到,因为有一些空格。那么,我怎样才能找到这样的元素呢?

最佳答案

试试下面的表达式:

driver.findElement(By.xpath("//span[text()='Company']"))

如果使用此代码得到 NoSuchElementException,请尝试增加一些时间等待元素出现并可见:

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[text()='Company']"))

如果您得到 NoSuchElementException,即使使用 ExplicitWait,目标元素可能位于 iframe 内。处理 iframe 中的元素:

driver.switchTo().frame("iframeNameOrId");
driver.findElement(By.xpath("//span[text()='Company']"));

关于java - 如何使用 Selenium ChromeDriver 从 span 类获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254760/

相关文章:

java - Docker 停止容器自动重新启动

java - Java SE : Object: entity. Customer@5e80188f 上的 JPA 不是已知实体类型

java - Swing Matisse GUI - 无法将定制 bean 添加到 "Other components"

javascript - 子元素及其父元素的鼠标滚轮处理程序

python - Selenium/Python - 通过 css 选择器选择

java - 在Spring webmvc应用程序中获取WebContent的相对路径

html - 如何为悬停元素的子元素着色

javascript - JS : Fail to obtain object after change of filter

python - 如何验证 Selenium WebDriver 中存在的动态元素

java - Cucumber Scenario Outline 上的 Example 表是否可以有空值?