Почему Movetoelement + Click не работает, в то время как ijavascriptexecutor + clik делает?C#

Место общения программистов C#
Ответить
Anonymous
 Почему Movetoelement + Click не работает, в то время как ijavascriptexecutor + clik делает?

Сообщение Anonymous »

Новичок здесь.

selenium 4.34

net 8.0

Используется тестовая страница автоматизации. /> Нажмите приложение Book Store < /li>
< /ol>
Целый скрипт: < /p>

Код: Выделить всё

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Support.UI;
using System.Xml.Linq;
using SeleniumExtras.WaitHelpers;

namespace SeleniumProject03;

public class DemoQASimpleLoginTest
{
private IWebDriver driver;

[SetUp]
public void Setup()
{
driver = new ChromeDriver();
driver.Navigate().GoToUrl("https://demoqa.com/");
driver.Manage().Window.Maximize();
}

[Test]
public void Login ()
{
IWebElement bookCard = driver.FindElement(By.XPath("//h5[text()='Book Store Application']/ancestor::div[contains(@class, 'top-card')]"));

// Not working
try
{
Actions actions = new Actions(driver);
actions.MoveToElement(bookCard).Click().Perform();
}
catch (Exception ex)
{
Console.WriteLine("Error scrolling to the element: " + ex.Message);
}

try
{
bookCard.Click();
}
catch (Exception ex1)
{
Console.WriteLine("Error clicking the element: " + ex1.Message);
}

// Working
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", bookCard);
bookCard.Click();
}

[TearDown]
public void TearDown()
{
Thread.Sleep(5000);
// Close the browser
if (driver != null)
{
driver.Dispose();
}
}
}
Я обнаружил, что использование Simple Findelement [...]. Click () не работает. Также я попробовал selenium.interactions.actions.movetoelement (). Click () безуспешно (исключение завоевано ниже). Я обнаружил, что использование javascript scrollintoview действительно работает. И здесь есть вопрос. Верхняя карта "> ... не кликабель в точке (190, 950). Другой элемент получит щелчок:

Подробнее здесь: https://stackoverflow.com/questions/797 ... -clik-does
Ответить

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

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

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

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

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