Это очень простой скрипт, но мне нужна помощь.
Веб-драйвер нажимает кнопку поиска в Google, если нет предложенных вариантов для набираемого текста (например, для macintosh). Но когда появляются предложения, как мне все-таки заставить веб-драйвер нажать кнопку поиска Google.
Мой код ниже:
package newProj;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
public class Google {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe");
RemoteWebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
driver.manage().window().maximize();
driver.findElementById("lst-ib").sendKeys("macintosh");
WebElement gs = driver.findElementByXPath("//input[@value = 'Google Search']");
gs.click();
System.out.println("Search Done");
driver.close();
}
}
но получаю ошибку ниже. Просьба помочь
Запуск ChromeDriver 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab) на порту 3288 Только локальный
Соединения разрешены. 27 июня 2018 12:14:37
org.openqa.selenium.remote.ProtocolHandshake createSession INFO:
Обнаруженный диалект: OSS true Исключение в теме "Основной"
org.openqa.selenium.WebDriverException: неизвестная ошибка: элемент недоступен для щелчка в точке (598, 411).
Другой элемент получит щелчок: ...
(Информация о сеансе: chrome = 67.0.3396.87) (Информация о драйвере:
chromedriver = 2.40.565498
(ea082db3280dd6843ebfb08a625e3eb905c4f5ab), платформа = Windows NT
10.0.15063 x86_64) (ПРЕДУПРЕЖДЕНИЕ: сервер не предоставил никакой информации о трассировке стека). Длительность команды или время ожидания: 0 миллисекунд. Информация о сборке:
версия: «3.12.0», редакция: «7c6e0b3», время:
'2018-05-08T15: 15: 03.216Z' Системная информация: хост: 'HDC0007030', ip:
«10 .50.90.19», os.name: «Windows 10», os.arch: «amd64», os.version:
'10 .0 ', java.version:' 1.8.0_73 'Информация о драйвере:
org.openqa.selenium.chrome.ChromeDriver Возможности
{acceptInsecureCerts: false, acceptSslCerts: false,
applicationCacheEnabled: false, browserConnectionEnabled: false,
browserName: chrome, chrome: {chromedriverVersion: 2.40.565498
(ea082db3280dd6 ..., userDataDir: C: \ Users \ CSS116 ~ 1 \ AppData \ L ...},
cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts:
true, hasTouchScreen: false, javascriptEnabled: true,
locationContextEnabled: true, mobileEmulationEnabled: false,
nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy:
обычный, платформа: XP, имя платформы: XP, вращающийся: ложь,
setWindowRect: true, takeHeapSnapshot: true, takeScreenshot: true,
непредсказуемое поведение:, необработанное, быстрое поведение:, версия:
67.0.3396.87, webStorageEnabled: true} Идентификатор сеанса: f4700c020ed7f67bd9e46a3c70fb4b02 в
sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
в
sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)
в
sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
в java.lang.reflect.Constructor.newInstance (Constructor.java:422)
в
org.openqa.selenium.remote.ErrorHandler.createThrowable (ErrorHandler.java:214)
в
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java:166)
в
org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue (JsonHttpResponseCodec.java:40)
в
org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode (AbstractHttpResponseCodec.java:80)
в
org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode (AbstractHttpResponseCodec.java:44)
в
org.openqa.selenium.remote.HttpCommandExecutor.execute (HttpCommandExecutor.java:158)
в
org.openqa.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:83)
в
org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:543)
в
org.openqa.selenium.remote.RemoteWebElement.execute (RemoteWebElement.java:276)
в
org.openqa.selenium.remote.RemoteWebElement.click (RemoteWebElement.java:83)
at newProj.Google.main (Google.java:33)