0

ログインページにテキストを入力しようとしています。ログインページがある:「ユーザー名」SeleniumとPythonを使用してInternet Explorer要素を見つける方法

https://ppair.uspto.gov/TruePassSample/AuthenticateUserLocalEPF.html

Internet Explorerの「要素を検証」を使用して(Webサイトは、Internet Explorerでのみロード)には、「デジタル証明書を選択し、」テキストフィールドの名前があるように私には思えます

これは私のスクリプトです:

import os 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

# Digital Certificate Path 
DigitalCertificateFolder = 'C:\FOLDER' 
DigitalCertificateFile = 'FILE.epf' 
DigitalCertificatePath = DigitalCertificateFolder + '\\' + DigitalCertificateFile 

password = 'PASSWORD' 

# get the path of IEDriverServer 
dir = 'C:\FOLDER2' 
ie_driver_path = dir + "\IEDriverServer.exe" 

# create a new Internet Explorer session 
driver = webdriver.Ie(ie_driver_path) 
driver.implicitly_wait(30) 
driver.maximize_window() 

# navigate to the application home page 
driver.get("https://ppair.uspto.gov/TruePassSample/AuthenticateUserLocalEPF.html") 

# get the search textbox 
Select_Digital_Certificate = driver.find_element_by_name("username") 
Select_Digital_Certificate.send_keys(DigitalCertificatePath) 

は、これがInternet Explorerで要素を検査から出力さ:

<INPUT name=username style="CURSOR: auto; BACKGROUND-IMAGE: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDhss3LcOZQAAAU5JREFUOMvdkzFLA0EQhd/bO7iIYmklaCUopLAQA6KNaawt9BeIgnUwLHPJRchfEBR7CyGWgiDY2SlIQBT/gDaCoGDudiy8SLwkBiwz1c7y+GZ25i0wnFEqlSZFZKGdi8iiiOR7aU32QkR2c7ncPcljAARAkgckb8IwrGf1fg/oJ8lRAHkR2VDVmOQ8AKjqY1bMHgCGYXhFchnAg6omJGcBXEZRtNoXYK2dMsaMt1qtD9/3p40x5yS9tHICYF1Vn0mOxXH8Uq/Xb389wff9PQDbQRB0t/QNOiPZ1h4B2MoO0fxnYz8dOOcOVbWhqq8kJzzPa3RAXZIkawCenHMjJN/+GiIqlcoFgKKq3pEMAMwAuCa5VK1W3SAfbAIopum+cy5KzwXn3M5AI6XVYlVt1mq1U8/zTlS1CeC9j2+6o1wuz1lrVzpWXLDWTg3pz/0CQnd2Jos49xUAAAAASUVORK5CYII=); BACKGROUND-REPEAT: no-repeat; BACKGROUND-ATTACHMENT: scroll; BACKGROUND-POSITION: right center" type=text size=38 lpcachedvisval="1" lpcachedvistime="1491220212">

私は次のエラーを受け取るために、コンソールでスクリプトを実行しよう:「NameError:名 『Select_Digital_Certificate』が定義されていません」。

私が間違っていることを誰かに説明してもらえますか?

答えて

1
あなたが inputを取り扱う前にその iframeに切り替える必要がありので、 iframeの内側に

は必須入力フィールド:

driver.get("https://ppair.uspto.gov/TruePassSample/AuthenticateUserLocalEPF.html") 
driver.switch_to.frame('entrustTruePassGuiFrame') 
Select_Digital_Certificate = driver.find_element_by_name("username") 
... 

が戻っメインHTML文書に切り替えるには、あなたが

driver.switch_to.default_content() 
+0

Iを使用する必要があります次の2行を追加しました: 'LoginCheckbox = driver.find_element_by_name( "accept")click() Authenticate = driver.fi nd_element_by_name( "B1")。submit() ' "submit"の後は、すべて次のページに進むわけではありません。なぜどんなアイデア? –

+1

'Authenticate = driver.find_element_by_name(" B1 ")の代わりに' driver.find_element_by_name( "B1")。click() 'を試すことができますか? – Andersson

関連する問題