2017-12-09 2 views
2

Ich versuche, ein einfaches Programm mit Python 2.7 und Selenium zu schreiben, um die Überprüfung meiner Presidents Choice-MasterCard-Guthaben zu automatisieren. Ich kann jedoch nicht herausfinden, wie ich mit dem versteckten "Los" -Button umgehen soll. Mein Code funktioniert bis zu diesem Punkt einwandfrei. in einer falschen WeiseVerwenden von Selenium zur Anmeldung bei Seite

prüfen Banking

import time 
import os 
import subprocess 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support import ui 

user_id = raw_input('Enter your account number') 
#password = raw_input('Enter your password') 

driver = webdriver.Chrome() # Optional argument, if not specified will search path. 

def regular(): 

    site = driver.get('https://www.pcfinancial.ca/'); 

    sign_in_to = driver.find_element_by_xpath('//*[@id="lnkSignInOp"]').click() 
    select = driver.find_element_by_xpath('//*[@id="PCM"]/a').click() 
    select2 = driver.find_element_by_xpath('//*[@id="PCM"]/a').click() 

    go = driver.find_element_by_xpath('//*[@id="ctl00_uscHeader_btnRegister"]').click() 



regular() 
+0

was bedeutet 'hidden' ? Musst du die Seite scrollen, um sie zu sehen? Es gibt Beispiel mit JavaScript-Code, der Seite zu Schaltfläche blättern kann. – furas

+0

Ihr letzter 'xpath' scheint falsch zu sein. Ich kann es nicht auf der Seite finden. Ich denke du suchst falsches Element. Button 'Go' hat unterschiedliche' id'. Vielleicht, nachdem Sie auf "Go" geklickt haben, erhalten Sie eine Seite mit dem Element "id =" ctl00_uscHeader_btnRegister " – furas

Antwort

0

Sie es tun. Sie klicken auf das PCM und nach dem PCM klicken Sie erneut auf PCM. Sie können zwar eine Option aus der Dropdown-Liste auswählen.

Ihre Los-Taste ID ist auch falsch.

Ihr Code sollte wie folgt aussehen werden ---

import time 
import os 
import subprocess 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support import ui 

user_id = raw_input('Enter your account number') 
#password = raw_input('Enter your password') 

driver = webdriver.Chrome() # Optional argument, if not specified will search path. 

def regular(): 

    site = driver.get('https://www.pcfinancial.ca/'); 

    sign_in_to = driver.find_element_by_xpath('//*[@id="lnkSignInOp"]').click() 
    select = driver.find_element_by_xpath('//*[@id="PCM"]/a').click() 


    go = driver.find_element_by_xpath('//*[@id="util-go"]').click() 



regular() 

Wenn Sie PC Punkte Option auswählen möchten dann unter Element auf klicken statt Pc Master Card

select2 = driver.find_element_by_xpath('//*[@id="PCP"]/a').click() 
+0

Mahmud, danke, Ihr Code hat mein Problem für mich behoben. Sehr geschätzt. – Mike

+0

@Mike Great News !!! Können Sie die Antwort akzeptieren, indem Sie auf klicken das Häkchen neben meiner Antwort, knapp unter vote Up/Down Pfeile, also das Häkchen wird grün? Danke –

+0

Mahmud, danke, aber ich bekomme immer noch Fehler mit folgendem Code: select = driver.find_element_by_xpath ('// * [@ id = "PCM"]/a '). click() go = ui.Wählen (driver.find_element_by_xpath (' // * [@ id = "util-go"] '). click()) WebDriverException : Nachricht: unbekannter Fehler: Element kann nicht an Punkt geklickt werden (946, 47) – Mike

Verwandte Themen