Как исправить NoSuchElementException на веб-драйвере - PullRequest
0 голосов
/ 18 октября 2019

Я попытался авторизоваться на портале Wifi автоматически, используя python. Однако find_element_by_X выдает ошибки.

Я использую Chrome в качестве браузера.

from selenium import webdriver
import time
driver = webdriver.Chrome()



driver.get('https://hinet.hiroshima-u.ac.jp/loginweb.html')
time.sleep(2)
#driver.find_element_by_css_selector('a.button').click()

username = driver.find_element_by_css_selector("input")
username.clear
#Enter HiroshimaU ID
username.send_keys('input_username')

password = driver.find_element_by_name('pwd')
password.clear
password.send_keys('input_userpassword')

Этот код должен работать, но он просто выдаёт мне ошибки:

selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: невозможно найти элемент: {"method": "css selector", "selector": "input"}

У меня естьпробовал другие методы, такие как by_name или by_id. Но ни один из них не работает.

Я очень новичок, поэтому мой вопрос может быть неясным, но я ценю вашу помощь.

Редактировать (23 октября 2019 г.): Мне жаль васне может получить доступ к сайту портала. Я надеюсь, что этот скриншот может помочь. Сайт портала

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Во-первых, я не смог получить доступ к сайту, который вы упомянули, так как это помогает увидеть, как сформировался HTML.

Во-вторых, я прошу вас взглянуть на pythonselenium find_element_by_name Показывает, как получить доступ к элементу по имени, как:

elem=browser.find_element_by_name("Email")

, где вы можете увидеть в html тег имени «Email»

0 голосов
/ 18 октября 2019

Input не является действительным cssSeletor.

Вам нужно сделать что-то вроде ниже:

Пример:

для https://www.google.com/ веб-сайта,

cssSeletor textFiled будет

input[name='q']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...