2017-03-19 9 views
1

PythonでSeleniumを使用してDiscordにログインしようとしています。後で検索を実行してデータを返すことができます。PythonのSeleniumでログインボタンのIDを見つける

これまでのところ、これは私が持っているものです。

from selenium import webdriver 
browser = webdriver.Chrome(executable_path='C:\\xyz\\chromedriver_win32\\chromedriver.exe') 

browser.get('https://discordapp.com/login') 
username = browser.find_element_by_id("register-email") 
username.send_keys("[email protected]") 
password = browser.find_element_by_id("register-password") 
password.send_keys("password123") 

次のステップは、ログインボタンでIDとパスワードを送信することですが、私は名前で、その要素を見つける方法がわかりません。

browser.find_element_by_name("login").click() 

どうすればプログラム的にその要素を見つけることができますか?

+0

を持っている右ページをクリック>点検>要素名 – ZdaR

+0

は、右クリックは 'CTRL +シフトして、そのページ – ADJ

+0

の試行で許可/有効にしていないように見えるます+私は、GoogleクロムのMacで動作します – ZdaR

答えて

1

ログインボタンの要素に「login」と等しいname属性があるように見えません。この場合、browser.find_element_by_name("login").click()文ではこの属性を見つけることができません。

Google Chromeを使用している場合は、開発ツール(WindowsではF12、MacではCMD + Shift + I)を使用してDOMツリー内の要素を見つけることができます。名前属性を持っていれば、ここでその属性を見つけることができます。この場合はありませんが、DOMツリー内の要素を右クリックすると、 'XPathのコピー'や 'コピーセレクタ'など、要素を見つける別の方法を抽出できます。抽出されたXPathをクリーンアップ

、あなたが要素をクリックし、次の使用することができますあなたはF12を使用して、開発者ツールを開くと

browser.find_element_by_xpath("//*button[contains(., 'Login')").click()

0

を、あなたは、HTML内の要素の上にマウスクルーザーを置くことができますし、彼らUIで強調表示されます。

ログインボタンがクラスbtn-primary

browser.find_element_by_class_name("btn-primary").click() 
関連する問題