2012-07-20 10 views

risposta

16

per selezionare la pagina intera:

driver.findElement(By.xpath("//body")).sendKeys(Keys.chord(Keys.CONTROL, "a")); 

CssSelector è più veloce di XPath. Quindi potrebbe essere fatto anche usando CSSPath. Di seguito è il modo:

driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL, "a")); 
+3

Questa soluzione non funziona per me in Chrome su Linux. Quale potrebbe essere la ragione? – yashaka

+1

Ottiene 'AttributeError: type object 'Keys' non ha alcun errore di 'chord''attributo per qualche motivo quando uso l'accordo. Qualche idea gente? – baltoro

+1

@baltusaj Probabilmente stai usando le chiavi sbagliate. È necessario utilizzare org.openqa.selenium.Keys – Aura

12

Hai provato a chord la Ctrl +A chiavi? Il seguente codice funziona nel mio caso:

element.sendKeys(Keys.chord(Keys.CONTROL, "a")); 
+0

sì, questo funziona bene. Ho visitato www.google.com e ho selezionato il testo della casella di testo di google come: driver.findElement (By.id ("gbqfq")). SendKeys (Keys.chord (Keys.CONTROL, "a")); Funziona bene secondo la tua direzione ... grazie. Voglio selezionare l'intera pagina di google. Come lo posso fare? –

+0

Mi sono imbattuto in risposta a questo a causa di un bug in alcuni dei miei test automatici ... Ho usato un selettore CSS che ha finito per selezionare un elemento della pagina che non era un campo di input (ad esempio un div, per esempio) ... quando il test ha inviato CTRL + A a questo elemento, ha finito per selezionare l'intera pagina. –

+0

Compilando il commento sopra, Webdriver generalmente cerca di emulare l'utente nel modo migliore che può ... Quello che è successo quando ha inviato un CTRL + A a un elemento che non era un input è cosa succederebbe se lo avessimo fatto manualmente (cliccato ovunque nella pagina che non era un input e premuto CTRL + A). –

Problemi correlati