Ich benutze Selen-Python zum Abschaben this page und klicke auf Paginierung Nummern.Warum kann ich ein Element in Selen mit Python und Chrome Webdriver nicht anklicken?
ich versuche, dieses:
driver = webdriver.Chrome()
time.sleep(5)
driver.get(
'http://www.ooshop.com/courses-en-ligne/ContentNavigation.aspx?TO_NOEUD_IDMO=N000000013081&FROM_NOEUD_IDMO=N000000013056&TO_NOEUD_IDFO=81018&NOEUD_NIVEAU=2&UNIVERS_INDEX=2')
nbdespages = 23
for i in xrange(2,nbdespages):
time.sleep(10)
number = str(i)
if(i<10):
cssSelec = 'ctl00_cphC_pn3T1_ctl01_rptPaginationB_ctl0%s_lbPage' %number
else:
cssSelec = 'ctl00_cphC_pn3T1_ctl01_rptPaginationB_ctl%s_lbPage' %number
try:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
element = WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CSS_SELECTOR, cssSelec)))
driver.execute_script("arguments[0].click()", element)
driver.find_element_by_css_selector(cssSelec).click()
finally:
driver.save_screenshot('/Users/Parik/Desktop/test.jpg')
print "TRY Again, you will find"
, aber ich habe diese Ausnahme:
TimeoutException: Message:
i WebDriverWait verwenden, weil manchmal ich diese Fehlermeldung bekam, wenn ich es nicht verwenden und ich lese this question und verwenden Sie es für mein Problem:
Element is not clickable at point
der Wert von CSS-Selektor korrekt
POST http://127.0.0.1:51099/session/ddf78c5a19e720909cbe6a0f5408788e/element {"using": "css selector", "sessionId": "ddf78c5a19e720909cbe6a0f5408788e", "value": "ctl00_cphC_pn3T1_ctl01_rptPaginationB_ctl02_lbPage"}
UPADTE1
UPDATE 2
Mit Screen shot ich sehe, dass ich nicht die Zahlen sehen können, i habe meinen Code folgendermaßen geändert:
try:
element = driver.find_element_by_css_selector('img#ctl00_cphC_pn3T1_ctl01_rp_ctl15_ctl00_iVisu.image')
driver.execute_script("return arguments[0].scrollIntoView();", element)
driver.execute_script("arguments[0].click()", element)
driver.find_element_by_css_selector(cssSelec).click()
finally:
driver.save_screenshot('/Users/Parik/Desktop/test.jpg')
print "TRY Again, you will find"
und jetzt sehe ich die Paginierung
, aber ich habe immer diese Ausnahme:
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"ctl00_cphC_pn3T1_ctl01_rptPaginationB_ctl02_lbPage"}
(Session info: chrome=51.0.2704.103)
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Mac OS X 10.11.5 x86_64)
Ich denke, zuerst müssen Sie nach unten scrollen, um die Seitennummer sichtbar zu machen. Mach es und lass es mich wissen, was passiert ... wenn ok, werde ich es konvertieren, um zu antworten. – noor
Sie müssen 'javascript' ausführen, klicken Sie wie folgt' driver.execute_script ("arguments [0] .click();", Element) '.... hoffe, es wird funktionieren .. –
@noor i upadet meinen Code , aber ich habe das gleiche Problem – parik