Как получить текст из класса span с помощью Selenium ChromeDriver

Вопрос:Я посмотрел похожие вопросы в stackoverflow и не нашел ничего, что могло бы мне помочь. У меня есть следующий html-код: Company Как я могу найти этот элемент (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")) Также я

Вопрос:

Я посмотрел похожие вопросы в 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’]»));

Оцените статью
Добавить комментарий