Я не уверен, где вы пытаетесь выбрать кнопку отправки, но у меня работал следующий селектор:
browser.find_element_by_css_selector('Button.Button.AnswerForm-submit').click()
Что касается того, чтобы быть обнаруженным как «машина», этого нелегко избежать.
Есть несколько способов, как они могут обнаружить вас.
Тем не менее, я обнаружил одну вещь, которая может избежать некоторых попыток обнаружения Селена. Они ищут переменные документа с именами $cdc_
и $wdc_
, которые использует селен, а для Chrome это будет $cdc_
. Вот что я предлагаю вам попробовать:
Загрузите шестнадцатеричный редактор, если у вас его еще нет. Я использовал один из здесь .
откройте свой chromedriver.exe в шестнадцатеричном редакторе.
Используйте функцию поиска, чтобы найти любой экземпляр $cdc_
или $wdc_
и заменить практически любую другую строку, заканчивающуюся подчеркиванием. Я нашел только один экземпляр $cdc_
, и он выглядел так:
'$cdc_asdjflasutopfhvcZLmcfl_'
Я просто заменил его на 'Random_'
Надеюсь, это работает, и теперь вы можете беспрепятственно проходить по сайту. Если нет, попробуйте некоторые из следующих действий; единственная проблема в том, что может сломать ваш файл chromedriver, чтобы тесты больше не работали. Но, возможно, стоит попробовать, и если он все-таки сломается, вы можете легко загрузить новый.
- Найдите в документе любое использование слов 'selenium', 'webdriver' или 'chromedriver' и удалите их. Это еще один способ, которым сайт может сказать, что вы используете селен.
Дайте мне знать, если это поможет, или у вас есть вопросы. Мне сложно дать конкретный ответ, потому что я не знаю, как именно сайт обнаруживает селен.