2016-04-09 3 views
0

Я использовал транспортир, чтобы выполнить поиск Google, но я не могу понять, как заставить его выбрать один из результатов поиска. Я не могу понять, какой локатор я должен использовать.
Это html-код для ссылки, мне нужно выбрать из поиска Google.Я не могу найти способ выбрать эту ссылку, используя protractor

<a class="l" href="http://blogs.com/myblogs" data-ved="0ahUKEwirnPjLu4LMAhVJyT4KHVA7BUIQjBAIOTAB" onmousedown="return rwt(this,'','','','2','AFQjCNF30dtvyBUGNFpk4EstTTASxP...4w','0ahUKEwirnPjLu4LMAhVJyT4KHVA7BUIQjBAIOTAB','','',event)">About Us</a>

Это код, который у меня есть в моем файле спецификации найти нажмите на ссылку.

browser.driver.findElement(by.linkText('About Us')).click();

Это не работает для меня, и я не знаю, как еще, чтобы быть в состоянии захватить ссылку. У него нет ничего похожего на модель, или id, или имя, которое можно найти. Очевидно, я новичок в этом, это то, что я пытаюсь узнать на стороне. Пожалуйста, не уменьшайте, потому что я хочу иметь возможность продолжать задавать вопросы, чтобы продолжить обучение. Благодарю.

+1

Не могли бы вы выслать полный код, который у вас есть прямо сейчас? И, если возможно, укажите ссылку на целевую страницу. Благодарю. – alecxe

+0

Предпочтительный метод: 'element (locator)', см. Http://www.protractortest.org/#/api?view=ElementFinder Оба эти метода должны работать: 'element (by.linkText ('About Us')) .click(); 'или' element (by.partialLinkText ('About')). click(); ' Это поможет узнать больше о том, что на самом деле происходит, а не гадать на решении. – cnishina

+0

@alecxe, это мой код здесь. 'описать ('транспортир получить на странице', функция() { \t он ('должен также перейти на страницу', функция() { \t \t browser.driver.get ('http://www.google. ком '); \t \t \t ожидать (browser.driver.getTitle()) toEqual (.' Google '); \t}); \t \t его (' следует ввести в поиск и перейти к результату», function() { \t \t browser.driver.findElement (by.name ('q')). sendKeys ('Onshore Outsourcing'); \t \t element (br owser.driver.by.linkText («О нас»)). click(); \t}); }); ' – AP1

ответ

1

Прежде всего, я должен думать о присутствии связи.

browser.driver.findElement(by.css('input[name="q"]')).sendKeys('Onshore Outsourcing'); 
    browser.driver.findElement(by.css('input[name="q"]')).sendKeys(protractor.Key.ENTER); 
    browser.driver.wait(function() { 
     return browser.driver.isElementPresent(by.linkText('About Us')); 
    }); 
    browser.driver.findElement(by.linkText('About Us')).click(); 
+0

Это сработало для меня, спасибо. – AP1

Смежные вопросы