私は職場で使用しているいくつかのサイトから報告番号を収集するようwebdriversを設定しています。これらはすべてパスワードで保護されており、今まで問題にはなっていません。私はFirefoxでのPython 3.6とセレンwebdriverをを使用していますSelenium Webdriverが要素をクリックしていない
:ここで私はと対話しようとしていますログイン画面があります。
このサイトでは、パスワード入力と送信ボタンが表示される前に、Webdriverがユーザー名を入力してから「次へ」ボタンと対話する必要があります。私はユーザー名を記入することができますが、これまで "次の"ボタンとやりとりするウェブドライバを手に入れることができませんでした。私は、クラス名、ID、およびCSSセレクタを使用してみましたが、これまで成功していない
<a class="x-btn attached-btn blue x-unselectable x-box-item x-btn-attached-btn-small x-item-disabled x-btn-disabled" style="height: 40px; right: auto; left: 282px; top: 0px; margin: 0px;" hidefocus="on" unselectable="on" role="button" aria-hidden="false" aria-disabled="true" id="button-1021" data-componentid="button-1021">
<span id="button-1021-btnWrap" data-ref="btnWrap" role="presentation" unselectable="on" style="" class="x-btn-wrap x-btn-wrap-attached-btn-small ">
<span id="button-1021-btnEl" data-ref="btnEl" role="presentation" unselectable="on" style="height:auto;" class="x-btn-button x-btn-button-attached-btn-small x-btn-text x-btn-button-center ">
<span id="button-1021-btnIconEl" data-ref="btnIconEl" role="presentation" unselectable="on" class="x-btn-icon-el x-btn-icon-el-attached-btn-small " style=""></span>
<span id="button-1021-btnInnerEl" data-ref="btnInnerEl" unselectable="on" class="x-btn-inner x-btn-inner-attached-btn-small">next</span>
</span>
</span>
</a>
:以下
は、サイトからのボタンのHTMLスニペットです。以下はPythonのスニペットがある:それは私がパスワードを入力していますpassElement部分に当たったときdef exe(self):
browser = webdriver.Firefox()
wait = WebDriverWait(browser, 15)
yesterday = date.today() - timedelta(1)
browser.get("https://ssp.vertamedia.com")
try:
userElement = wait.until(EC.visibility_of_element_located((By.ID,'textfield-1020-inputEl')))
userElement.send_keys(self.cred.pop('User'))
browser.find_element_by_id('button-1021').click()
passElement = wait.until(EC.visibility_of_element_located((By.ID, 'textfield-1027-inputEl')))
passElement.send_keys(self.cred.pop('Password'))
browser.find_element_by_id('button-1028').click()
except TimeoutException:
self.cred['Impression'] = "Login error"
self.cred['Revenue'] = "Login error"
self.cred['Date'] = yesterday.strftime('%m%d%y')
は基本的に、それは誤り「要素が表示されていない」ヒット。
次のボタンとやりとりする方法についてのご意見をお待ちしております。
ユーザー名を設定してからもう少し寝たことがありますか? – kevin628