Windows 10Home x64 / Python 3.7.0 win64 / Selenium 3.14.0 / Geckodriver 3.14.0 / Firefox 61.0.2.
Estou tentando clicar no botão Login, embora tenha copiado e colado o XPath completo, não consigo clicar no botão Login.
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://library.yonsei.ac.kr/')
linkElem = driver.find_element_by_link_text('LOGIN').click()
username = driver.find_element_by_id('id')
username.send_keys('myuserAbc')
password = driver.find_element_by_id('password')
password.send_keys('mypass123')
linkElem = driver.find_element_by_xpath("/html/body/div[2]/div[2]/div/div[2]/form/fieldset/div[2]/p[@class='loginBtn']/input[@type='submit']").click()
Obrigado pela ajuda.
Update1: O script funciona a ponto de localizar o botão de login, não tenho problemas com o Marionette ou com a última versão do Firefox.
Update2: Eu adicionei p[@class='loginBtn']/input[@type='submit']
em um esforço para torná-lo mais específico, mas ainda não funciona.
Em minha experiência, descobri que o clique do botão pode não funcionar algumas vezes em botões de formulário com o tipo definido como ação. A melhor maneira possível de trabalhar com isso é usar o método submit ().
então algo assim deve funcionar no seu formulário de login
from time import sleep
time.sleep(20)
driver.find_element_by_class_name('loginBtn').submit()
Isso enviará o formulário ao servidor e você poderá passar pelo processo de login.
se isso não funcionar, você também pode tentar o seguinte
driver.find_element_by_class_name('loginBtn).send_keys(Keys.ENTER)
Agora, por que Button.click (); não trabalhar aqui pode ter os seguintes motivos.
1.O botão está visível, mas não ativado.
2. O motorista está encontrando as 2 instâncias do elemento Botão
.Mais discussões sobre isso podem ser encontradas aqui Selênio: submit () funciona bem, mas click () não
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras