2016-12-21 8 views
1

Я пишу код селена, чтобы сделать следующее.Невозможно понять при получении значения

  1. Введите значение в текстовое поле.
  2. Выберите выпадающее меню.
  3. Выберите переключатель.
  4. Нажмите кнопку перехода.

Когда я это сделаю, я получу список результатов, и я хочу получить заголовок первого блока результатов.

Ниже приведен мой код.

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.remote.CapabilityType; 
import org.openqa.selenium.remote.DesiredCapabilities; 

public class Test1 { 
    public static void main(String[] args) throws InterruptedException { 
     WebDriver driver; 
     System.setProperty("webdriver.gecko.driver", "C:\\Users\\home\\Downloads\\geckodriver.exe"); 
     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
     driver = new FirefoxDriver(capabilities); 
     driver.get("https://www2.chubb.com/us-en/find-agent-page.aspx"); 

     driver.findElement(By.xpath(".//*[@id='tbAddress']")).sendKeys("60089"); 
     driver.findElement(By.xpath(".//*[@id='cphHeroContent_drpDistanceMiles']")).sendKeys("2"); 
     driver.findElement(By.xpath(".//*[@id='cphHeroContent_rdType_0']")).click(); 
     driver.findElement(By.xpath(".//*[@id='cphHeroContent_btnSearch']")).click(); 

     String title = driver.getTitle().toString(); 
     System.out.println(title); 

     Thread.sleep(10000L); 

     String getHeadingTitle = driver.findElement(By.xpath(".//*[@id='chubbAgentData']/li/h2")).toString(); 
     System.out.println(getHeadingTitle); 

    } 
} 

В моем коде, я могу получить шаг1, 2, 3 сделано, и я смог получить имя заголовка в моей консоли.

Это дает мне следующее исключение при попытке получить текст заголовка.

JavaScript error: https://www2.chubb.com/us-en/find-agent-page.aspx , line 2: SyntaxError: expected expression, got '<'

JavaScript warning: https://www2.chubb.com/_Global-Assets/js/jquery-webdriver.js , line 1: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead [[FirefoxDriver: firefox on XP (320d5e47-8575-4566-9622-d8275cf72ded)] -> xpath: .//*[@id='chubbAgentData']/li/h2]

Пожалуйста, дайте мне знать, где я буду не так, и как я могу это исправить.

ответ

1

Вы не должны использовать toString() метод - использовать getText():

driver.findElement(By.xpath(".//*[@id='chubbAgentData']/li/h2")).getText(); 
Смежные вопросы