如何使用Selenium XPath单击登录按钮

时间:2018-12-04 07:05:41

标签: python selenium selenium-webdriver web-crawler

我正在尝试使用python登录到网站,以便我可以从网站上获取他们的一些文本。

这是我的代码。在ID和密码之后的代码末尾总是有错误。

import os
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(executable_path=r"C:\chromedriver\chromedriver.exe")

driver.get('https://www.saramin.co.kr/zf_user/auth')

driver.implicitly_wait(3)

driver.find_element_by_name('id').send_keys('<<my_id>>')
driver.find_element_by_name('password').send_keys('<<my_password>>')

driver.find_element_by_xpath('//*[@id="frmNIDLogin"]/fieldset/input').click()

按钮的HTML来源:

enter image description here

2 个答案:

答案 0 :(得分:0)

xpath不正确,与页面中的任何内容都不匹配。试试

driver.find_element_by_xpath('//form[@id="login_frm"]//button[@class="btn-login"]').click()

或仅在submit()上使用<form>函数

form = driver.find_element_by_id('login_frm')
form.submit()

答案 1 :(得分:0)

最终我发现了!不过谢谢您的回答。

这是最终代码。

driver = webdriver.Chrome(executable_path="C:\chromedriver\chromedriver.exe")

browser = webdriver.Chrome('C:\chromedriver\chromedriver.exe')

driver.get('https://www.saramin.co.kr/zf_user/auth')

driver.implicitly_wait(3)

driver.find_element_by_name('id').send_keys('ID') driver.find_element_by_name('password').send_keys('PW')

driver.find_element_by_xpath( '//*[@class="btn-login"]' ).click()