Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Последний вопрос про Selenium - как работать с адресной строкой браузера Chrome? C#

csharp
chrome
selenium
webdriver
Теги: #<Tag:0x00007fedba846d18> #<Tag:0x00007fedba846b88> #<Tag:0x00007fedba8469a8> #<Tag:0x00007fedba846778>

(Valerash “Valerash”) #1

Добрый день, меня интересует такая тема : как можно взаимодействовать с адресной строкой браузера Chrome? Как вписывать туда что-то - это легко. Считывать URL и Title тоже просто. Но как я могу копировать текст, который находится ИМЕННО в адресной строке. Это не часть сайта, а часть браузера, так что у нее нету Id, Class, Name и так далее. Что делать, не подскажете???


(Dmitry Astanin) #2
driver.send_keys(Keys.CONTROL + 'L') 

В теории выделит тебе текст в address bar’e.

Ну а дальше все просто)


(Dmitry Astanin) #4

Тэкс) давайте кейс)


(Valerash “Valerash”) #5

Нууу, все бы хорошо, да вот только программа будет копировать каждый раз, как пользователь вводит что-то, соответственно она будет это каждый раз выделять и не давать пользователю написать и 2-х букв.(


(Valerash “Valerash”) #6

Нуу, программа считывает, что пользователь пишет в адресной строке до нажатия Enter, а потом работает с этим текстом. Конечно, я могу получить этот текст при помощи махинаций с “driver.Title”, но тогда во-первых, придется отделять ненужный кусок скопированного текста (как например я получаю “Selenium - поиск в Google”, очевидно, что " - поиск в Google" придется удалять) и во-вторых программа будет в разы медленнее.


(Alexandr D ) #7

Зачем вам каждый раз копировать?
Пользователь закончил ввод - скопировали.


(Valerash “Valerash”) #8

Ну а как узнать, когда он закончит ввод? Если по окончанию печати он нажмет Энтер и все…


(Alexandr D ) #9

Обернуть нажатие энтера в этом месте, засунув туда копирование текста перед самим нажатием)


(Valerash “Valerash”) #10

Нуу, это логичный ответ, но что если программа будет медленней, чем браузер и при нажатии энтер браузер первым откроет окно


(Alexandr D ) #11

Я ничего не понял)