seitar18
(Sergey QA)
#1
Собственно, валятся тесты при попытке нахождения локатора на странице, с использованием связки - Selenide + ChromeDriver.
Драйвер выдает исключение:
Caused by: WebDriverException: unknown error: Cannot use ‘in’ operator to search for ‘String’ in 3
(полный лог ошибки - Element not found {#blob_item.inputFile}Expected: existTimeout: 10 s.Cause - Pastebin.com)
Погуглив - решил, что возможная проблема - в Хроме.
Обновил Selenide - до версии 4.5.1, ChromeDriver - до версии 2.30, Хром - до 59.
Не помогло.
Кто сталкивался - чем можно починить или обойти данную проблему?
BabyRoot
(Vasily)
#2
Покажите весь элемент #blob_item.inputFile из дома.
И что вы с ним делаете.
seitar18
(Sergey QA)
#3
Конкретно в него - лью файл, однако ошибка валится при любом обращении к поиску любого элемента на странице.
Локаторы писать я умею.
ответ в логах, вы ищете элемент масива в стринге, можно больше условий ?
seitar18
(Sergey QA)
#5
Я не ищу элемент массива в стринге, подобная ошибка происходит при абсолютном любом вызове нахождения элемента на странице:
private By browseButton = By.id("blob_item");
public void uploadFile (String filePath){
$(browseButton).uploadFile(new File(filePath));
$(uploadButton).click();
}
rmarinsky
(Roma Marinsky)
#6
2 лайка
seitar18
(Sergey QA)
#8
Продублирую решение с баг-трэкера Хромиума:
Hah, good catch! And until this gets patched, we can use this as a workaround:
driver.find_element_by_css_selector(‘html’)
Message: unknown error: Cannot use ‘in’ operator to search for ‘String’ in null
driver.execute_script(‘global = undefined;’)
driver.find_element_by_css_selector(‘html’)
<selenium.webdriver.remote.webelement.WebElement (session=“426398402b0affe5d89ec5769f596cf5”, element=“0.6694440740023262-1”)>
1 лайк