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

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

driver.send_keys(Keys.CONTROL + 'L') 

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

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

1 лайк

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

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

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

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

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

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

1 лайк

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

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