C# Selenium Wedriver XPATH И FindElement несколько атрибутов

376
08 августа 2017, 13:32

Пытаюсь программно лайкнуть определенный коммент на ютубе.

Надо найти элемент с двумя атрибутами, как я делаю вы можете увидеть внизу. Данный код возвращает ошибку:

"{"no such element: Unable to locate element: {\"method\":\"xpath\",\"selector\":\"//button[@data-action-type='like' and @data-action='CAUQAhojejEzb2hqZnF2dWJ4ZWJpdTIyMzRneGdid2t1c2hianFlMDQqCzVBM1RzMXJwVW93MAA4AEoVMTE0Njk1OTczMzIwMTIyMDk4Njk5UAA%3D']\"}\n (Session info: chrome=59.0.3071.115)\n (Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64)"}"

    //Не рабочий код            
    IWebElement SearchInput3 = Browser.FindElement(By.XPath("//button[@data-action-type='like' and @data-action='CAUQAhojejEzb2hqZnF2dWJ4ZWJpdTIyMzRneGdid2t1c2hianFlMDQqCzVBM1RzMXJwVW93MAA4AEoVMTE0Njk1OTczMzIwMTIyMDk4Njk5UAA%3D']"));
SearchInput3.Click();

Рабочий код:

//С одним атрибутом работает, но мне так не подходит ибо находит первое попавшиеся совпадение
            IWebElement SearchInput3 = Browser.FindElement(By.XPath("//button[@data-action-type='like']"));
            SearchInput3.Click();
Answer 1
        IWebElement SearchInput3 = Browser.FindElement(By.XPath("//*[@data-action='CAUQAholejEzMXlubHhwbzMzeXB5cmEwNGNqbGxod3JiaXU1Mnc1dm8wayoLdERaNnJBOTh4M2MwADgAShUxMDQ4NTM2MTUxNTI4ODg1OTM4NTVQAA%3D%3D'][@data-action-type='like']"));
        SearchInput3.Click();

Так заработало

READ ALSO
C# .net callback'и

C# .net callback'и

Здравствуйте, я забыл как объявлять callback'и, приведите пожалуйста пример callback'а, который возвращал как нибудь String и TcpClient, и собственно всё...

370
Как сделать кнопку назад в Unity?

Как сделать кнопку назад в Unity?

Как сделать кнопку назад на Cancel, так, чтобы при возврате происходило автосохранение изменений в сцене из которой хотят выйти

647
@Url.Action не находит View

@Url.Action не находит View

Есть view: Views\WindowCalc\ChooseWindowcshtml Есть контроллер: Controllers\WindowCalcController

589
Разница в выбранном потоке между TaskCompletionSource и Task.Factory.StartNew

Разница в выбранном потоке между TaskCompletionSource и Task.Factory.StartNew

С практическим асинхронным программированием столкнулся относительно недавно, и, изучая тему детальнее, назрел вопрос: При создании задачи...

392