ChromeDriver – элемент может находиться в Chrome 125, но не в 126.C#

Место общения программистов C#
Ответить
Anonymous
 ChromeDriver – элемент может находиться в Chrome 125, но не в 126.

Сообщение Anonymous »

У меня есть тест C# Selenium, который не может найти элемент в Chrome v126. Это отлично работает в Chrome v125, и использование того же селектора CSS в консоли браузера Chrome v126 работает нормально. Кто-нибудь сталкивался с тем же и есть ли какое-либо решение, чтобы преодолеть это?
Я обнаружил, что использую JavascriptExecutor и имею window.document.getElementsByClassName('saveTransaction')[0].click() отлично работает с операциями щелчка, но это означает, что мне нужно преобразовать все в этот способ работы с элементами. Это доказывает, что элемент существует в DOM, но почему-то мой код не может его найти в Chrome v126.
window.document.getElementsByClassName('saveTransaction')[0].click() работает нормально, использование «$$» в консоли Chrome v126 правильно идентифицирует элемент с помощью моего селектора CSS.
//Initialize the driver as how you would normally do with ChromeOptions
var chromeOptions = new ChromeOptions();
chromeOptions.BrowserVersion = BrowserVersion;
webDriver = new RemoteWebDriver(new Uri($"http://{GridMachine}:4444/wd/hub"), chromeOptions);

//What doesn't work
webDriver.FindElement(By.ClassName("saveTransaction")).Click();

//The code below throws NoSuchElementException
var x = webDriver.FindElement(By.ClassName("saveTransaction")).Displayed;

//What works fine
var js = webDriver as IJavaScriptExecutor;
js.ExecuteScript("window.document.getElementsByClassName(\"saveTransaction\")[0].click()");


Подробнее здесь: https://stackoverflow.com/questions/786 ... ot-on-v126
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»