Событие Click не работает для Firefox, но для Chrome - PullRequest
0 голосов
/ 05 ноября 2019

Событие click не запускается в Firefox, но работает нормально в Chrome. Тест не пройден с ошибкой: «Элемент не найден на странице».

Ниже приведен код и HTML-код кнопки, которую я хочу нажать.

Browser.ElementClickById("ctl00_ContentPlaceHolderBody_lvProducts_ctrl0_ctrl1_btnAddProductToCart_input");

и внутри elementclickbyid у меня есть:

driver.FindElement(By.Id(elementID)).Click();

HTML-код:

событие

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Вы можете попытаться обойтись щелчком Javascript.

// declare JS executor
var executor = (IJavaScriptExecutor)Driver;

// locate the input
var input = Driver.FindElement(By.XPath("//input[@type='submit']"));

// execute JS to click
executor.ExecuteScript("arguments[0].click();", input);

Я встречал случаи, когда обычные Click(); не работают в браузерах - эти случаи редки, но использование JS click обычно работаетчерез несколько браузеров, когда я столкнулся с этой проблемой.

0 голосов
/ 05 ноября 2019
driver.findElement(By.xpath("//input[@type='submit']")).click();

Я уверен, что вы пытаетесь использовать класс браузера, чтобы сохранить там свои методы, но попробуйте использовать xpath, а не id. просто используйте этот код, чтобы щелкнуть, что вам нужно. не используйте объектную модель страницы или что-либо еще. не сохраняйте его в своем классе браузера под методом click. просто в вашем основном коде используйте этот код, чтобы нажать. и перед запуском убедитесь, что у вас есть только один тип submit. если он покажет вам 2 типа, используйте этот код

driver.findElement(By.xpath("//input[@type='submit'][1]")).click();

номер 1 говорит, что нажмите сначала, чтобы отправить, если вам нужна вторая кнопка, затем следуйте логике и измените число на 2

* 1006. *

для лучшего ответа укажите свой класс кода, а также URL-адрес, по которому вы пытаетесь нажать кнопку, а также по какому элементу вы пытаетесь нажать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...