Di seguito è il mio script che verifica è presente elemento. Quando do questo selettore:Problema con parentesi [?] Nel selettore css in selenio-pitone
css=input[name='flightSearchParam[3].originAirport']
di selenio Ide mi trovare questo elemento, ma quando ho eseguito questo di selenio rc non può trovarlo. Penso che sia un problema tra parentesi.
Cosa devo cambiare per trovare questo elemento con selenio rc?
lo eseguo in Windows XP e Cultura polacca
Script è pronto per essere eseguito.
# -*- coding: utf-8 -*-
from selenium import selenium
import unittest, time, re
class Untitled(unittest.TestCase):
def setUp(self):
self.verificationErrors = []
self.selenium = selenium("localhost", 5555, "*chrome", "http://www.aa.com/")
self.selenium.start()
def test_untitled(self):
sel = self.selenium
sel.open("/international/internationalSplashAccess.do?countryCodeForIP=PL")
sel.click("localeSubmit")
sel.wait_for_page_to_load("30000")
for i in range(60):
try:
if sel.is_element_present("aa-hp-multi-city-link2"): break
except: pass
time.sleep(1)
else: self.fail("time out")
sel.click("aa-hp-multi-city-link2")
sel.click("flightSearchForm.button.reSubmit")
sel.wait_for_page_to_load("30000")
for i in range(60):
try:
if sel.is_element_present(u"css=input[name='flightSearchParam[3].originAirport']"): break
except: pass
time.sleep(1)
else: self.fail("time out")
def tearDown(self):
self.selenium.stop()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
Corpo per:
conn.request("POST", "/selenium-server/driver/", body, headers)
u'cmd=isElementPresent&1=css%3Dinput%5Bname%3DflightSearchParam%5B2%5D.originAirport%5D&sessionId=02b3341a3fee46f5a1e6d9c13d6e8916'
EDIT
lo cambio a sel.is_element_present("dom=document.getElementsByName('flightSearchParam[3].originAirport')[0]"):
e trovare questo elemento. Ma, ancora non so perché il css non funziona qui:/
si potrebbe pubblicare il tuo codice html che vuoi abbinare – karlcow
Penso che sarebbe meglio usare un selettore diverso da CSS (XPath, forse?) – rs79