List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
+KotlinList < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
+
plants = driver . find_elements ( By . TAG_NAME , "li" )
+
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
+
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+
+
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
+
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
+precisa iterar sobre a coleção e identificar o que você deseja.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
for ( WebElement element : elements ) {
System . out . println ( "Paragraph text:" + element . getText ());
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Firefox ()
@@ -2633,7 +2647,7 @@
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Firefox ;
using System.Collections.Generic ;
@@ -2657,9 +2671,9 @@
}
}
}
-
elements = driver . find_elements ( :tag_name , 'p' )
+
elements = driver . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'firefox' ). build ();
try {
@@ -2677,7 +2691,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.firefox.FirefoxDriver
fun main () {
@@ -2694,13 +2708,13 @@
}
}
Localizar Elementos em um Elemento Ele é usado para localizar a lista de WebElements filhos correspondentes dentro do contexto do elemento pai.
-Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.By ;
+Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.By ;
import org.openqa.selenium.WebDriver ;
import org.openqa.selenium.WebElement ;
import org.openqa.selenium.chrome.ChromeDriver ;
@@ -2725,7 +2739,7 @@
}
}
}
-
##get elements from parent element using TAG_NAME
+
##get elements from parent element using TAG_NAME
# Obtém o elemento com o nome da tag 'div'
element = driver . find_element ( By . TAG_NAME , 'div' )
@@ -2745,7 +2759,7 @@
elements = driver . find_elements ( By . XPATH , './/li' )
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
using System.Collections.Generic ;
@@ -2770,10 +2784,10 @@
}
}
}
-
element = driver . find_element ( :tag_name , 'div' )
+
element = driver . find_element ( :tag_name , 'div' )
elements = element . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = new Builder ()
@@ -2792,7 +2806,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
@@ -2812,13 +2826,13 @@
driver . quit ()
}
}
-
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.* ;
+
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.* ;
import org.openqa.selenium.chrome.ChromeDriver ;
public class activeElementTest {
@@ -2836,7 +2850,7 @@
}
}
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Chrome ()
@@ -2846,7 +2860,7 @@
# Obter atributo do elemento atualmente ativo
attr = driver . switch_to . active_element . get_attribute ( "title" )
print ( attr )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
namespace ActiveElement {
@@ -2867,9 +2881,9 @@
}
}
}
-
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
+
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
attr = driver . switch_to . active_element . attribute ( 'title' )
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'chrome' ). build ();
@@ -2881,7 +2895,7 @@
console . log ( ` ${ attr } ` )
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
@@ -13471,7 +13485,7 @@
das informações contidas neste livro. Nenhuma responsabilidade de patente é assumida com
relação ao uso das informações aqui contidas.Atribuições Agradecimentos:
+
5321 commits
+
15 commits
diff --git a/pt-br/documentation/about/_print/index.html b/pt-br/documentation/about/_print/index.html
index e00a8bbbb6a0..53940c3dccfe 100644
--- a/pt-br/documentation/about/_print/index.html
+++ b/pt-br/documentation/about/_print/index.html
@@ -35,7 +35,7 @@
das informações contidas neste livro. Nenhuma responsabilidade de patente é assumida com
relação ao uso das informações aqui contidas.
Atribuições Agradecimentos:
+
5321 commits
+
15 commits
diff --git a/pt-br/documentation/about/copyright/index.html b/pt-br/documentation/about/copyright/index.html
index 44308f6ae4af..210e1abbf23f 100644
--- a/pt-br/documentation/about/copyright/index.html
+++ b/pt-br/documentation/about/copyright/index.html
@@ -22,7 +22,7 @@
das informações contidas neste livro. Nenhuma responsabilidade de patente é assumida com
relação ao uso das informações aqui contidas.
Atribuições Agradecimentos:
+
5321 commits
+
15 commits
diff --git a/pt-br/documentation/webdriver/_print/index.html b/pt-br/documentation/webdriver/_print/index.html
index 54856e292818..8929d046741a 100644
--- a/pt-br/documentation/webdriver/_print/index.html
+++ b/pt-br/documentation/webdriver/_print/index.html
@@ -48,13 +48,13 @@
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.0' A mínima versão suportada do Python para cada versão do Selenium pode ser encontrada
em Supported Python Versions
no PyPi
Existe muitas formas diferentes de instalar Selenium.
Pip Download Como uma alternativa você pode baixar o código fonte PyPI
+
Download Como uma alternativa você pode baixar o código fonte PyPI
(selenium-x.x.x.tar.gz) e instalar usando setup.py :
python setup.py install
-
Exigir em um projeto Para usar em um projeto, adicione no arquivo requirements.txt
.
Exigir em um projeto Para usar em um projeto, adicione no arquivo requirements.txt
.
Uma lista com todos os frameworks suportados para cada versão do Selenium
pode ser encontrada em Nuget
Existe algumas opções para instalar o Selenium.
Packet Manager Install-Package Selenium.WebDriver
-
.NET CLI dotnet add package Selenium.WebDriver
-
CSProj No arquivo csproj
do seu projeto, especifique a dependência como PackageReference
no ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
.NET CLI dotnet add package Selenium.WebDriver
+
CSProj No arquivo csproj
do seu projeto, especifique a dependência como PackageReference
no ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
Considerações adicionais Outras observações para usar o Visual Studio Code (vscode) e C#
Instale a versão compatível do .NET SDK conforme a seção acima.
Instale também as extensões do vscode (Ctrl-Shift-X) para C# e NuGet.
Siga as instruções aqui para criar e rodar o seu projeto de “Hello World” no console usando C#.
Você também pode criar um projeto inicial do NUnit usando a linha de comando dotnet new NUnit
.
@@ -72,10 +72,10 @@
Aperte Enter e selecione a versão.
Agora você pode usar os exemplos da documentação relacionados ao C# com o vscode.
Você pode ver a minima versão suportada do Ruby para cada versão do Selenium em
rubygems.org
O Selenium pode ser instalado de duas formas diferentes.
Instalação manual gem install selenium-webdriver
-
Adicione para o gemfile do projeto gem 'selenium-devtools' , '= 0.127.0'
Adicione para o gemfile do projeto gem 'selenium-devtools' , '= 0.127.0'
Você pode encontrar a mínima versão suportada do Node para cada versão do Selenium
na seção Node Support Policy
no site npmjs
Selenium é normalmente instalado usando npm.
Instalação local npm install selenium-webdriver
-
Adicione ao seu projeto No package.json
do seu projeto, adicione os requisitos em dependencies
:
Adicione ao seu projeto No package.json
do seu projeto, adicione os requisitos em dependencies
:
Use as ligações Java para Kotlin.
Próximo passo Programando o seu primeiro script Selenium
1.2 - Programe o seu primeiro script Selenium Instruções passo a passo para programar um script Selenium
Assim que você tiver o Selenium instalado ,
você estará pronto para programar códigos Selenium.
Oito Componentes Básicos Tudo que o Selenium faz é enviar comandos ao navegador de internet para fazer algo ou solicitar informações dele.
A maior parte do que você irá fazer com o Selenium é uma combinação desses comandos básicos.
Click on the link to “View full example on GitHub” to see the code in context.
1. Iniciando uma sessão Para ter mais detalhes sobre como iniciar uma sessão, leia nossa documentação em driver sessions
@@ -244,7 +244,7 @@
Kotlin String title = driver . getTitle ();
assertEquals ( "Web form" , title );
title = driver . title
- assert title == "Web form"
var title = driver . Title ;
Assert . AreEqual ( "Web form" , title );
title = @driver . title
@@ -268,9 +268,9 @@
View full example on GitHub
Set Up def setup ():
driver = webdriver . Chrome ()
driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" )
- return driver
Tear Down def teardown ( driver ):
- driver . quit ()
Set Up before do
@driver = Selenium :: WebDriver . for :chrome
end
Java e C# As classes WebDriver
, WebElement
e ShadowRoot
todas implementam o SearchContext
interface, que é
considerada uma role-based interface (interface baseada em função). As interfaces baseadas em função permitem determinar se uma determinada
implementação de driver suporta um recurso específico. Essas interfaces são claramente definidas e tentam
-aderir a ter apenas um único papel de responsabilidade.
Localizador otimizado Uma pesquisa aninhada pode não ser a estratégia de localização mais eficaz, pois requer dois
+aderir a ter apenas um único papel de responsabilidade.
Evaluating the Shadow DOM The Shadow DOM is an encapsulated DOM tree hidden inside an element.
+With the release of v96 in Chromium Browsers, Selenium can now allow you to access this tree
+with easy-to-use shadow root methods. NOTE: These methods require Selenium 4.0 or greater.
Move Code
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin WebElement shadowHost = driver . findElement ( By . cssSelector ( "#shadow_host" ));
+ SearchContext shadowRoot = shadowHost . getShadowRoot ();
+ WebElement shadowContent = shadowRoot . findElement ( By . cssSelector ( "#shadow_content" ));
shadow_host = driver . find_element ( By . CSS_SELECTOR , '#shadow_host' )
+shadow_root = shadow_host . shadow_root
+shadow_content = shadow_root . find_element ( By . CSS_SELECTOR , '#shadow_content' )
var shadowHost = _driver . FindElement ( By . CssSelector ( "#shadow_host" ));
+var shadowRoot = shadowHost . GetShadowRoot ();
+var shadowContent = shadowRoot . FindElement ( By . CssSelector ( "#shadow_content" ));
shadow_host = @driver.find_element(css: '#shadow_host')
+shadow_root = shadow_host.shadow_root
+shadow_content = shadow_root.find_element(css: '#shadow_content')
Localizador otimizado Uma pesquisa aninhada pode não ser a estratégia de localização mais eficaz, pois requer dois
comandos separados a serem emitidos para o navegador.
Para melhorar um pouco o desempenho, podemos usar CSS ou XPath para encontrar esse elemento com um único comando.
Veja as sugestões de estratégia do localizador na nossa sessão de
-Práticas de teste incentivadas .
Para esse exemplo, utilizaremos o CSS Selector:
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin WebElement fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ));
-
fruit = driver . find_element ( By . CSS_SELECTOR , "#fruits .tomatoes" )
-
var fruit = driver . FindElement ( By . CssSelector ( "#fruits .tomatoes" ));
-
fruit = driver . find_element ( css : '#fruits .tomatoes' )
const fruit = await driver . findElement ( By . css ( '#fruits .tomatoes' ));
-
-
val fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ))
-
Todos os elementos correspondentes Existem vários casos de uso para a necessidade de obter referências a todos os elementos que correspondem a um localizador, em vez
-do que apenas o primeiro. Os métodos plurais find elements retornam uma coleção de referências de elementos.
-Se não houver correspondências, uma lista vazia será retornada. Nesse caso,
-referências a todos os itens da lista de frutas e vegetais serão devolvidas em uma coleção.
+Práticas de teste incentivadas .Para esse exemplo, utilizaremos o CSS Selector:
Java
Python
CSharp
Ruby
JavaScript
-Kotlin List < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
-
plants = driver . find_elements ( By . TAG_NAME , "li" )
-
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
-
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+KotlinWebElement fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ));
+
fruit = driver . find_element ( By . CSS_SELECTOR , "#fruits .tomatoes" )
+
var fruit = driver . FindElement ( By . CssSelector ( "#fruits .tomatoes" ));
+
fruit = driver . find_element ( css : '#fruits .tomatoes' )
const fruit = await driver . findElement ( By . css ( '#fruits .tomatoes' ));
-
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
-
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
-precisa iterar sobre a coleção e identificar o que você deseja.
val fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ))
+
Todos os elementos correspondentes Existem vários casos de uso para a necessidade de obter referências a todos os elementos que correspondem a um localizador, em vez
+do que apenas o primeiro. Os métodos plurais find elements retornam uma coleção de referências de elementos.
+Se não houver correspondências, uma lista vazia será retornada. Nesse caso,
+referências a todos os itens da lista de frutas e vegetais serão devolvidas em uma coleção.
Java
Python
CSharp
Ruby
JavaScript
-Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
+KotlinList < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
+
plants = driver . find_elements ( By . TAG_NAME , "li" )
+
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
+
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+
+
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
+
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
+precisa iterar sobre a coleção e identificar o que você deseja.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
for ( WebElement element : elements ) {
System . out . println ( "Paragraph text:" + element . getText ());
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Firefox ()
@@ -2436,7 +2450,7 @@
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Firefox ;
using System.Collections.Generic ;
@@ -2460,9 +2474,9 @@
}
}
}
-
elements = driver . find_elements ( :tag_name , 'p' )
+
elements = driver . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'firefox' ). build ();
try {
@@ -2480,7 +2494,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.firefox.FirefoxDriver
fun main () {
@@ -2497,13 +2511,13 @@
}
}
Localizar Elementos em um Elemento Ele é usado para localizar a lista de WebElements filhos correspondentes dentro do contexto do elemento pai.
-Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.By ;
+Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.By ;
import org.openqa.selenium.WebDriver ;
import org.openqa.selenium.WebElement ;
import org.openqa.selenium.chrome.ChromeDriver ;
@@ -2528,7 +2542,7 @@
}
}
}
-
##get elements from parent element using TAG_NAME
+
##get elements from parent element using TAG_NAME
# Obtém o elemento com o nome da tag 'div'
element = driver . find_element ( By . TAG_NAME , 'div' )
@@ -2548,7 +2562,7 @@
elements = driver . find_elements ( By . XPATH , './/li' )
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
using System.Collections.Generic ;
@@ -2573,10 +2587,10 @@
}
}
}
-
element = driver . find_element ( :tag_name , 'div' )
+
element = driver . find_element ( :tag_name , 'div' )
elements = element . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = new Builder ()
@@ -2595,7 +2609,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
@@ -2615,13 +2629,13 @@
driver . quit ()
}
}
-
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.* ;
+
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.* ;
import org.openqa.selenium.chrome.ChromeDriver ;
public class activeElementTest {
@@ -2639,7 +2653,7 @@
}
}
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Chrome ()
@@ -2649,7 +2663,7 @@
# Obter atributo do elemento atualmente ativo
attr = driver . switch_to . active_element . get_attribute ( "title" )
print ( attr )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
namespace ActiveElement {
@@ -2670,9 +2684,9 @@
}
}
}
-
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
+
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
attr = driver . switch_to . active_element . attribute ( 'title' )
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'chrome' ). build ();
@@ -2684,7 +2698,7 @@
console . log ( ` ${ attr } ` )
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
diff --git a/pt-br/documentation/webdriver/elements/_print/index.html b/pt-br/documentation/webdriver/elements/_print/index.html
index 4a3fb07c523f..2b3dbd42591d 100644
--- a/pt-br/documentation/webdriver/elements/_print/index.html
+++ b/pt-br/documentation/webdriver/elements/_print/index.html
@@ -107,51 +107,67 @@
Java e C# As classes WebDriver
, WebElement
e ShadowRoot
todas implementam o SearchContext
interface, que é
considerada uma role-based interface (interface baseada em função). As interfaces baseadas em função permitem determinar se uma determinada
implementação de driver suporta um recurso específico. Essas interfaces são claramente definidas e tentam
-aderir a ter apenas um único papel de responsabilidade.
Localizador otimizado Uma pesquisa aninhada pode não ser a estratégia de localização mais eficaz, pois requer dois
+aderir a ter apenas um único papel de responsabilidade.
Evaluating the Shadow DOM The Shadow DOM is an encapsulated DOM tree hidden inside an element.
+With the release of v96 in Chromium Browsers, Selenium can now allow you to access this tree
+with easy-to-use shadow root methods. NOTE: These methods require Selenium 4.0 or greater.
Move Code
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin WebElement shadowHost = driver . findElement ( By . cssSelector ( "#shadow_host" ));
+ SearchContext shadowRoot = shadowHost . getShadowRoot ();
+ WebElement shadowContent = shadowRoot . findElement ( By . cssSelector ( "#shadow_content" ));
shadow_host = driver . find_element ( By . CSS_SELECTOR , '#shadow_host' )
+shadow_root = shadow_host . shadow_root
+shadow_content = shadow_root . find_element ( By . CSS_SELECTOR , '#shadow_content' )
var shadowHost = _driver . FindElement ( By . CssSelector ( "#shadow_host" ));
+var shadowRoot = shadowHost . GetShadowRoot ();
+var shadowContent = shadowRoot . FindElement ( By . CssSelector ( "#shadow_content" ));
shadow_host = @driver.find_element(css: '#shadow_host')
+shadow_root = shadow_host.shadow_root
+shadow_content = shadow_root.find_element(css: '#shadow_content')
Localizador otimizado Uma pesquisa aninhada pode não ser a estratégia de localização mais eficaz, pois requer dois
comandos separados a serem emitidos para o navegador.
Para melhorar um pouco o desempenho, podemos usar CSS ou XPath para encontrar esse elemento com um único comando.
Veja as sugestões de estratégia do localizador na nossa sessão de
-Práticas de teste incentivadas .
Para esse exemplo, utilizaremos o CSS Selector:
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin WebElement fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ));
-
fruit = driver . find_element ( By . CSS_SELECTOR , "#fruits .tomatoes" )
-
var fruit = driver . FindElement ( By . CssSelector ( "#fruits .tomatoes" ));
-
fruit = driver . find_element ( css : '#fruits .tomatoes' )
const fruit = await driver . findElement ( By . css ( '#fruits .tomatoes' ));
-
-
val fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ))
-
Todos os elementos correspondentes Existem vários casos de uso para a necessidade de obter referências a todos os elementos que correspondem a um localizador, em vez
-do que apenas o primeiro. Os métodos plurais find elements retornam uma coleção de referências de elementos.
-Se não houver correspondências, uma lista vazia será retornada. Nesse caso,
-referências a todos os itens da lista de frutas e vegetais serão devolvidas em uma coleção.
+Práticas de teste incentivadas .Para esse exemplo, utilizaremos o CSS Selector:
Java
Python
CSharp
Ruby
JavaScript
-Kotlin List < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
-
plants = driver . find_elements ( By . TAG_NAME , "li" )
-
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
-
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+KotlinWebElement fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ));
+
fruit = driver . find_element ( By . CSS_SELECTOR , "#fruits .tomatoes" )
+
var fruit = driver . FindElement ( By . CssSelector ( "#fruits .tomatoes" ));
+
fruit = driver . find_element ( css : '#fruits .tomatoes' )
const fruit = await driver . findElement ( By . css ( '#fruits .tomatoes' ));
-
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
-
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
-precisa iterar sobre a coleção e identificar o que você deseja.
val fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ))
+
Todos os elementos correspondentes Existem vários casos de uso para a necessidade de obter referências a todos os elementos que correspondem a um localizador, em vez
+do que apenas o primeiro. Os métodos plurais find elements retornam uma coleção de referências de elementos.
+Se não houver correspondências, uma lista vazia será retornada. Nesse caso,
+referências a todos os itens da lista de frutas e vegetais serão devolvidas em uma coleção.
Java
Python
CSharp
Ruby
JavaScript
-Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
+KotlinList < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
+
plants = driver . find_elements ( By . TAG_NAME , "li" )
+
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
+
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+
+
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
+
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
+precisa iterar sobre a coleção e identificar o que você deseja.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
for ( WebElement element : elements ) {
System . out . println ( "Paragraph text:" + element . getText ());
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Firefox ()
@@ -164,7 +180,7 @@
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Firefox ;
using System.Collections.Generic ;
@@ -188,9 +204,9 @@
}
}
}
-
elements = driver . find_elements ( :tag_name , 'p' )
+
elements = driver . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'firefox' ). build ();
try {
@@ -208,7 +224,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.firefox.FirefoxDriver
fun main () {
@@ -225,13 +241,13 @@
}
}
Localizar Elementos em um Elemento Ele é usado para localizar a lista de WebElements filhos correspondentes dentro do contexto do elemento pai.
-Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.By ;
+Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.By ;
import org.openqa.selenium.WebDriver ;
import org.openqa.selenium.WebElement ;
import org.openqa.selenium.chrome.ChromeDriver ;
@@ -256,7 +272,7 @@
}
}
}
-
##get elements from parent element using TAG_NAME
+
##get elements from parent element using TAG_NAME
# Obtém o elemento com o nome da tag 'div'
element = driver . find_element ( By . TAG_NAME , 'div' )
@@ -276,7 +292,7 @@
elements = driver . find_elements ( By . XPATH , './/li' )
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
using System.Collections.Generic ;
@@ -301,10 +317,10 @@
}
}
}
-
element = driver . find_element ( :tag_name , 'div' )
+
element = driver . find_element ( :tag_name , 'div' )
elements = element . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = new Builder ()
@@ -323,7 +339,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
@@ -343,13 +359,13 @@
driver . quit ()
}
}
-
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.* ;
+
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.* ;
import org.openqa.selenium.chrome.ChromeDriver ;
public class activeElementTest {
@@ -367,7 +383,7 @@
}
}
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Chrome ()
@@ -377,7 +393,7 @@
# Obter atributo do elemento atualmente ativo
attr = driver . switch_to . active_element . get_attribute ( "title" )
print ( attr )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
namespace ActiveElement {
@@ -398,9 +414,9 @@
}
}
}
-
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
+
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
attr = driver . switch_to . active_element . attribute ( 'title' )
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'chrome' ). build ();
@@ -412,7 +428,7 @@
console . log ( ` ${ attr } ` )
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
diff --git a/pt-br/documentation/webdriver/elements/finders/index.html b/pt-br/documentation/webdriver/elements/finders/index.html
index 4dddc7bba4e8..625043c5c0a7 100644
--- a/pt-br/documentation/webdriver/elements/finders/index.html
+++ b/pt-br/documentation/webdriver/elements/finders/index.html
@@ -1,7 +1,7 @@
Encontrando Elementos Web | Selenium
Documentação WebDriver Elemento Web Finders v4.0
Encontrando Elementos Web Localizando elementos com base nos valores providenciados pelo localizador.
Um dos aspectos mais fundamentais do uso do Selenium é obter referências de elementos para trabalhar.
+ Print entire section
Documentação WebDriver Elemento Web Finders v4.0
Encontrando Elementos Web Localizando elementos com base nos valores providenciados pelo localizador.
Um dos aspectos mais fundamentais do uso do Selenium é obter referências de elementos para trabalhar.
O Selenium oferece várias estratégias de localizador para identificar exclusivamente um elemento.
Há muitas maneiras de usar os localizadores em cenários complexos. Para os propósitos desta documentação,
vamos considerar este trecho de HTML:
< ol id = "vegetables" >
@@ -71,51 +71,67 @@
Java e C# As classes WebDriver
, WebElement
e ShadowRoot
todas implementam o SearchContext
interface, que é
considerada uma role-based interface (interface baseada em função). As interfaces baseadas em função permitem determinar se uma determinada
implementação de driver suporta um recurso específico. Essas interfaces são claramente definidas e tentam
-aderir a ter apenas um único papel de responsabilidade.
Localizador otimizado Uma pesquisa aninhada pode não ser a estratégia de localização mais eficaz, pois requer dois
+aderir a ter apenas um único papel de responsabilidade.
Evaluating the Shadow DOM The Shadow DOM is an encapsulated DOM tree hidden inside an element.
+With the release of v96 in Chromium Browsers, Selenium can now allow you to access this tree
+with easy-to-use shadow root methods. NOTE: These methods require Selenium 4.0 or greater.
Move Code
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin WebElement shadowHost = driver . findElement ( By . cssSelector ( "#shadow_host" ));
+ SearchContext shadowRoot = shadowHost . getShadowRoot ();
+ WebElement shadowContent = shadowRoot . findElement ( By . cssSelector ( "#shadow_content" ));
shadow_host = driver . find_element ( By . CSS_SELECTOR , '#shadow_host' )
+shadow_root = shadow_host . shadow_root
+shadow_content = shadow_root . find_element ( By . CSS_SELECTOR , '#shadow_content' )
var shadowHost = _driver . FindElement ( By . CssSelector ( "#shadow_host" ));
+var shadowRoot = shadowHost . GetShadowRoot ();
+var shadowContent = shadowRoot . FindElement ( By . CssSelector ( "#shadow_content" ));
shadow_host = @driver.find_element(css: '#shadow_host')
+shadow_root = shadow_host.shadow_root
+shadow_content = shadow_root.find_element(css: '#shadow_content')
Localizador otimizado Uma pesquisa aninhada pode não ser a estratégia de localização mais eficaz, pois requer dois
comandos separados a serem emitidos para o navegador.
Para melhorar um pouco o desempenho, podemos usar CSS ou XPath para encontrar esse elemento com um único comando.
Veja as sugestões de estratégia do localizador na nossa sessão de
-Práticas de teste incentivadas .
Para esse exemplo, utilizaremos o CSS Selector:
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin WebElement fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ));
-
fruit = driver . find_element ( By . CSS_SELECTOR , "#fruits .tomatoes" )
-
var fruit = driver . FindElement ( By . CssSelector ( "#fruits .tomatoes" ));
-
fruit = driver . find_element ( css : '#fruits .tomatoes' )
const fruit = await driver . findElement ( By . css ( '#fruits .tomatoes' ));
-
-
val fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ))
-
Todos os elementos correspondentes Existem vários casos de uso para a necessidade de obter referências a todos os elementos que correspondem a um localizador, em vez
-do que apenas o primeiro. Os métodos plurais find elements retornam uma coleção de referências de elementos.
-Se não houver correspondências, uma lista vazia será retornada. Nesse caso,
-referências a todos os itens da lista de frutas e vegetais serão devolvidas em uma coleção.
+Práticas de teste incentivadas .Para esse exemplo, utilizaremos o CSS Selector:
Java
Python
CSharp
Ruby
JavaScript
-Kotlin List < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
-
plants = driver . find_elements ( By . TAG_NAME , "li" )
-
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
-
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+KotlinWebElement fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ));
+
fruit = driver . find_element ( By . CSS_SELECTOR , "#fruits .tomatoes" )
+
var fruit = driver . FindElement ( By . CssSelector ( "#fruits .tomatoes" ));
+
fruit = driver . find_element ( css : '#fruits .tomatoes' )
const fruit = await driver . findElement ( By . css ( '#fruits .tomatoes' ));
-
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
-
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
-precisa iterar sobre a coleção e identificar o que você deseja.
val fruit = driver . findElement ( By . cssSelector ( "#fruits .tomatoes" ))
+
Todos os elementos correspondentes Existem vários casos de uso para a necessidade de obter referências a todos os elementos que correspondem a um localizador, em vez
+do que apenas o primeiro. Os métodos plurais find elements retornam uma coleção de referências de elementos.
+Se não houver correspondências, uma lista vazia será retornada. Nesse caso,
+referências a todos os itens da lista de frutas e vegetais serão devolvidas em uma coleção.
Java
Python
CSharp
Ruby
JavaScript
-Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
+KotlinList < WebElement > plants = driver . findElements ( By . tagName ( "li" ));
+
plants = driver . find_elements ( By . TAG_NAME , "li" )
+
IReadOnlyList < IWebElement > plants = driver . FindElements ( By . TagName ( "li" ));
+
plants = driver . find_elements ( tag_name : 'li' )
const plants = await driver . findElements ( By . tagName ( 'li' ));
+
+
val plants : List < WebElement > = driver . findElements ( By . tagName ( "li" ))
+
Obter Elemento Muitas vezes você obterá uma coleção de elementos, mas quer trabalhar apenas com um elemento específico, o que significa que você
+precisa iterar sobre a coleção e identificar o que você deseja.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin List < WebElement > elements = driver . findElements ( By . tagName ( "li" ));
for ( WebElement element : elements ) {
System . out . println ( "Paragraph text:" + element . getText ());
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Firefox ()
@@ -128,7 +144,7 @@
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Firefox ;
using System.Collections.Generic ;
@@ -152,9 +168,9 @@
}
}
}
-
elements = driver . find_elements ( :tag_name , 'p' )
+
elements = driver . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'firefox' ). build ();
try {
@@ -172,7 +188,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.firefox.FirefoxDriver
fun main () {
@@ -189,13 +205,13 @@
}
}
Localizar Elementos em um Elemento Ele é usado para localizar a lista de WebElements filhos correspondentes dentro do contexto do elemento pai.
-Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.By ;
+Para realizar isso, o WebElement pai é encadeado com o ‘findElements’ para acessar seus elementos filhos.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.By ;
import org.openqa.selenium.WebDriver ;
import org.openqa.selenium.WebElement ;
import org.openqa.selenium.chrome.ChromeDriver ;
@@ -220,7 +236,7 @@
}
}
}
-
##get elements from parent element using TAG_NAME
+
##get elements from parent element using TAG_NAME
# Obtém o elemento com o nome da tag 'div'
element = driver . find_element ( By . TAG_NAME , 'div' )
@@ -240,7 +256,7 @@
elements = driver . find_elements ( By . XPATH , './/li' )
for e in elements :
print ( e . text )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
using System.Collections.Generic ;
@@ -265,10 +281,10 @@
}
}
}
-
element = driver . find_element ( :tag_name , 'div' )
+
element = driver . find_element ( :tag_name , 'div' )
elements = element . find_elements ( :tag_name , 'p' )
elements . each { | e | puts e . text }
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = new Builder ()
@@ -287,7 +303,7 @@
}
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
@@ -307,13 +323,13 @@
driver . quit ()
}
}
-
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
-Java
-Python
-CSharp
-Ruby
-JavaScript
-Kotlin import org.openqa.selenium.* ;
+
Obter elemento ativo Ele é usado para rastrear (ou) encontrar um elemento DOM que tem o foco no contexto de navegação atual.
+Java
+Python
+CSharp
+Ruby
+JavaScript
+Kotlin import org.openqa.selenium.* ;
import org.openqa.selenium.chrome.ChromeDriver ;
public class activeElementTest {
@@ -331,7 +347,7 @@
}
}
}
-
from selenium import webdriver
+
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver . Chrome ()
@@ -341,7 +357,7 @@
# Obter atributo do elemento atualmente ativo
attr = driver . switch_to . active_element . get_attribute ( "title" )
print ( attr )
-
using OpenQA.Selenium ;
using OpenQA.Selenium.Chrome ;
namespace ActiveElement {
@@ -362,9 +378,9 @@
}
}
}
-
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
+
driver . find_element ( css : '[name="q"]' ) . send_keys ( 'webElement' )
attr = driver . switch_to . active_element . attribute ( 'title' )
const { Builder , By } = require ( 'selenium-webdriver' );
+View full example on GitHub
const { Builder , By } = require ( 'selenium-webdriver' );
( async function example () {
let driver = await new Builder (). forBrowser ( 'chrome' ). build ();
@@ -376,7 +392,7 @@
console . log ( ` ${ attr } ` )
})();
-
import org.openqa.selenium.By
+
import org.openqa.selenium.By
import org.openqa.selenium.chrome.ChromeDriver
fun main () {
@@ -392,5 +408,5 @@
driver . quit ()
}
}
-
Development Partners
Selenium Level Sponsors Support the Selenium Project Learn more or view the full list of sponsors.
Development Partners
Selenium Level Sponsors Support the Selenium Project Learn more or view the full list of sponsors.
\ No newline at end of file
diff --git a/pt-br/documentation/webdriver/getting_started/_print/index.html b/pt-br/documentation/webdriver/getting_started/_print/index.html
index 8e6a9a27a819..d63d187e7bbd 100644
--- a/pt-br/documentation/webdriver/getting_started/_print/index.html
+++ b/pt-br/documentation/webdriver/getting_started/_print/index.html
@@ -47,13 +47,13 @@
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.0' A mínima versão suportada do Python para cada versão do Selenium pode ser encontrada
em Supported Python Versions
no PyPi
Existe muitas formas diferentes de instalar Selenium.
Pip Download Como uma alternativa você pode baixar o código fonte PyPI
+
Download Como uma alternativa você pode baixar o código fonte PyPI
(selenium-x.x.x.tar.gz) e instalar usando setup.py :
python setup.py install
-
Exigir em um projeto Para usar em um projeto, adicione no arquivo requirements.txt
.
Exigir em um projeto Para usar em um projeto, adicione no arquivo requirements.txt
.
Uma lista com todos os frameworks suportados para cada versão do Selenium
pode ser encontrada em Nuget
Existe algumas opções para instalar o Selenium.
Packet Manager Install-Package Selenium.WebDriver
-
.NET CLI dotnet add package Selenium.WebDriver
-
CSProj No arquivo csproj
do seu projeto, especifique a dependência como PackageReference
no ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
.NET CLI dotnet add package Selenium.WebDriver
+
CSProj No arquivo csproj
do seu projeto, especifique a dependência como PackageReference
no ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
Considerações adicionais Outras observações para usar o Visual Studio Code (vscode) e C#
Instale a versão compatível do .NET SDK conforme a seção acima.
Instale também as extensões do vscode (Ctrl-Shift-X) para C# e NuGet.
Siga as instruções aqui para criar e rodar o seu projeto de “Hello World” no console usando C#.
Você também pode criar um projeto inicial do NUnit usando a linha de comando dotnet new NUnit
.
@@ -71,10 +71,10 @@
Aperte Enter e selecione a versão.
Agora você pode usar os exemplos da documentação relacionados ao C# com o vscode.
Você pode ver a minima versão suportada do Ruby para cada versão do Selenium em
rubygems.org
O Selenium pode ser instalado de duas formas diferentes.
Instalação manual gem install selenium-webdriver
-
Adicione para o gemfile do projeto gem 'selenium-devtools' , '= 0.127.0'
Adicione para o gemfile do projeto gem 'selenium-devtools' , '= 0.127.0'
Você pode encontrar a mínima versão suportada do Node para cada versão do Selenium
na seção Node Support Policy
no site npmjs
Selenium é normalmente instalado usando npm.
Instalação local npm install selenium-webdriver
-
Adicione ao seu projeto No package.json
do seu projeto, adicione os requisitos em dependencies
:
Adicione ao seu projeto No package.json
do seu projeto, adicione os requisitos em dependencies
:
Use as ligações Java para Kotlin.
Próximo passo Programando o seu primeiro script Selenium
2 - Programe o seu primeiro script Selenium Instruções passo a passo para programar um script Selenium
Assim que você tiver o Selenium instalado ,
você estará pronto para programar códigos Selenium.
Oito Componentes Básicos Tudo que o Selenium faz é enviar comandos ao navegador de internet para fazer algo ou solicitar informações dele.
A maior parte do que você irá fazer com o Selenium é uma combinação desses comandos básicos.
Click on the link to “View full example on GitHub” to see the code in context.
1. Iniciando uma sessão Para ter mais detalhes sobre como iniciar uma sessão, leia nossa documentação em driver sessions
@@ -243,7 +243,7 @@
Kotlin String title = driver . getTitle ();
assertEquals ( "Web form" , title );
title = driver . title
- assert title == "Web form"
var title = driver . Title ;
Assert . AreEqual ( "Web form" , title );
title = @driver . title
@@ -267,9 +267,9 @@
View full example on GitHub
Set Up def setup ():
driver = webdriver . Chrome ()
driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" )
- return driver
Tear Down def teardown ( driver ):
- driver . quit ()
Set Up before do
@driver = Selenium :: WebDriver . for :chrome
end
Uma lista com todos os frameworks suportados para cada versão do Selenium
pode ser encontrada em Nuget
Existe algumas opções para instalar o Selenium.
Packet Manager Install-Package Selenium.WebDriver
-
.NET CLI dotnet add package Selenium.WebDriver
-
CSProj No arquivo csproj
do seu projeto, especifique a dependência como PackageReference
no ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
.NET CLI dotnet add package Selenium.WebDriver
+
CSProj No arquivo csproj
do seu projeto, especifique a dependência como PackageReference
no ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
Considerações adicionais Outras observações para usar o Visual Studio Code (vscode) e C#
Instale a versão compatível do .NET SDK conforme a seção acima.
Instale também as extensões do vscode (Ctrl-Shift-X) para C# e NuGet.
Siga as instruções aqui para criar e rodar o seu projeto de “Hello World” no console usando C#.
Você também pode criar um projeto inicial do NUnit usando a linha de comando dotnet new NUnit
.
@@ -55,9 +55,9 @@
Aperte Enter e selecione a versão.
Agora você pode usar os exemplos da documentação relacionados ao C# com o vscode.
Você pode ver a minima versão suportada do Ruby para cada versão do Selenium em
rubygems.org
O Selenium pode ser instalado de duas formas diferentes.
Instalação manual gem install selenium-webdriver
-
Adicione para o gemfile do projeto gem 'selenium-devtools' , '= 0.127.0'
Adicione para o gemfile do projeto gem 'selenium-devtools' , '= 0.127.0'
Você pode encontrar a mínima versão suportada do Node para cada versão do Selenium
na seção Node Support Policy
no site npmjs
Selenium é normalmente instalado usando npm.
Instalação local npm install selenium-webdriver
-
Adicione ao seu projeto No package.json
do seu projeto, adicione os requisitos em dependencies
:
Use as ligações Java para Kotlin.
Próximo passo Programando o seu primeiro script Selenium
Development Partners
Selenium Level Sponsors Support the Selenium Project Learn more or view the full list of sponsors.
Adicione ao seu projeto No package.json
do seu projeto, adicione os requisitos em dependencies
:
Use as ligações Java para Kotlin.
Próximo passo Programando o seu primeiro script Selenium
Development Partners
Selenium Level Sponsors Support the Selenium Project Learn more or view the full list of sponsors.
\ No newline at end of file
diff --git a/pt-br/documentation/webdriver/getting_started/using_selenium/index.html b/pt-br/documentation/webdriver/getting_started/using_selenium/index.html
index 0d53dacf2b2b..93501c150eba 100644
--- a/pt-br/documentation/webdriver/getting_started/using_selenium/index.html
+++ b/pt-br/documentation/webdriver/getting_started/using_selenium/index.html
@@ -1,7 +1,7 @@
Organizando e executando o código Selenium | Selenium
Development Partners
Selenium Level Sponsors Support the Selenium Project Learn more or view the full list of sponsors.
Development Partners
Selenium Level Sponsors Support the Selenium Project Learn more or view the full list of sponsors.
\ No newline at end of file
diff --git a/pt-br/sitemap.xml b/pt-br/sitemap.xml
index 52c8fed254eb..a3e7d075174b 100644
--- a/pt-br/sitemap.xml
+++ b/pt-br/sitemap.xml
@@ -1 +1 @@
-
https://www.selenium.dev/pt-br/documentation/grid/configuration/help/ 2022-11-17T14:56:19+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/browsing_context/ 2024-08-04T20:33:33+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/input/ 2024-08-04T20:33:33+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/captchas/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/design_strategies/ 2023-04-17T22:48:24+05:30 https://www.selenium.dev/pt-br/documentation/about/copyright/ 2023-10-03T09:53:03+08:00 https://www.selenium.dev/pt-br/documentation/overview/components/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/file_upload/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/navigation/ 2024-08-05T09:10:29+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/network/ 2024-08-04T20:33:33+05:30 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/observability/ 2023-10-24T23:55:35+01:00 https://www.selenium.dev/pt-br/documentation/overview/ 2024-02-06T13:33:24+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/script/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/alerts/ 2024-08-17T09:21:57+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/ 2023-05-25T18:11:20-06:00 https://www.selenium.dev/pt-br/documentation/grid/getting_started/ 2023-05-25T18:11:20-06:00 https://www.selenium.dev/pt-br/documentation/about/contributing/ 2023-11-22T13:11:12-06:00 https://www.selenium.dev/pt-br/documentation/overview/details/ 2022-11-15T12:05:40+00:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/file_downloads/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/errors/ 2024-08-22T04:28:09-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/finders/ 2024-08-22T14:12:58-04:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/grid_3/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_ide/html_runner/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/install_library/ 2024-08-14T01:32:57-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/interactions/ 2024-07-19T10:00:08+02:00 https://www.selenium.dev/pt-br/documentation/ie_driver_server/internals/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/listeners/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/logging/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_2/upgrading/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/grid/configuration/cli_options/ 2024-04-23T12:32:53+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/options/ 2024-08-19T05:43:24-04:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_1/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/overview/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/graphql_support/ 2022-01-24T18:46:50+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/keyboard/ 2024-08-04T14:23:15+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/testing_types/ 2023-10-25T04:28:40+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/ 2024-03-29T20:25:04+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/http_response_codes/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/ 2024-08-26T02:03:37-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/http_client/ 2024-05-05T17:53:16+02:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/page_object_models/ 2023-07-20T04:44:31-03:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/endpoints/ 2024-04-24T14:15:02+00:00 https://www.selenium.dev/pt-br/documentation/selenium_manager/ 2024-08-26T01:49:39-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/service/ 2024-05-29T18:35:18+02:00 https://www.selenium.dev/pt-br/documentation/grid/configuration/toml_options/ 2024-04-23T12:32:53+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/colors/ 2023-08-03T23:04:23-05:00 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/chrome/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/grid_setup/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/errors/driver_location/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/grid/ 2024-02-06T13:37:55+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/information/ 2024-08-08T11:46:01+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/domain_specific_language/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/locators/ 2024-08-22T04:22:37-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/logging/ 2024-01-24T01:16:53+03:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/gmail_email_and_facebook_logins/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/mouse/ 2024-08-04T13:48:45+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/ 2022-11-03T09:08:46+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/network/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/customize_node/ 2024-05-17T13:30:43-04:00 https://www.selenium.dev/pt-br/documentation/grid/applicability/ 2022-11-15T15:53:55+00:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_2/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/cookies/ 2024-04-06T20:06:30+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/pen/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/test_dependency/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/edge/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/external_datastore/ 2023-06-27T20:27:08+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/generating_application_state/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/components/ 2023-07-05T20:45:15+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/waits/ 2024-05-07T19:44:07+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/firefox/ 2024-05-30T13:53:58+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/frames/ 2022-12-12T15:17:34+01:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/grid_components/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/wheel/ 2024-08-04T14:23:15+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/script/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_2/remote_server/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/mock_external_services/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/about/style/ 2023-11-22T17:00:07-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/performance_testing/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/thread_guard/ 2022-09-23T10:06:16-05:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/ 2022-11-14T16:09:47+00:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/link_spidering/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/improved_reporting/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/two_factor_authentication/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/configuration/ 2022-11-17T14:56:19+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/ 2023-04-04T19:09:53+01:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/avoid_sharing_state/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/internet_explorer/ 2024-06-19T14:08:20+02:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/locators/ 2022-02-10T18:17:05+08:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/ 2022-11-14T16:09:47+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/first_script/ 2024-08-26T02:03:37-04:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_ide/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/ie_driver_server/ 2023-10-24T23:55:35+01:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/windows/ 2024-07-05T15:23:34+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/test_independency/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/architecture/ 2022-12-01T21:25:10+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/upgrade_to_selenium_4/ 2024-04-29T06:34:50+02:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/consider_using_a_fluent_api/ 2023-05-17T19:23:53+10:00 https://www.selenium.dev/pt-br/documentation/ide/ 2022-11-10T08:57:29+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/ 2024-08-05T09:10:29+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/remote_webdriver/ 2024-07-27T11:43:12+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/safari/ 2024-07-08T07:13:22+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/select_lists/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/using_selenium/ 2024-08-26T02:03:37-04:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/fresh_browser_per_test/ 2022-07-28T14:45:40+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/log/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/ 2023-10-24T23:55:35+01:00 https://www.selenium.dev/pt-br/documentation/test_practices/ 2022-11-14T16:09:47+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/ 2024-08-04T14:23:15+05:30 https://www.selenium.dev/pt-br/documentation/legacy/ 2023-06-27T20:27:08+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/about/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/virtual_authenticator/ 2024-05-30T17:43:45+07:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/ 2023-10-25T10:47:57+01:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/ 2023-01-03T15:59:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/expected_conditions/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/categories/ https://www.selenium.dev/pt-br/documentation/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/ 2023-06-27T20:27:08+05:30 https://www.selenium.dev/pt-br/tags/ https://www.selenium.dev/pt-br/year/
\ No newline at end of file
+
https://www.selenium.dev/pt-br/documentation/grid/configuration/help/ 2022-11-17T14:56:19+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/browsing_context/ 2024-08-04T20:33:33+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/input/ 2024-08-04T20:33:33+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/captchas/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/design_strategies/ 2023-04-17T22:48:24+05:30 https://www.selenium.dev/pt-br/documentation/about/copyright/ 2023-10-03T09:53:03+08:00 https://www.selenium.dev/pt-br/documentation/overview/components/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/file_upload/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/navigation/ 2024-08-05T09:10:29+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/network/ 2024-08-04T20:33:33+05:30 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/observability/ 2023-10-24T23:55:35+01:00 https://www.selenium.dev/pt-br/documentation/overview/ 2024-02-06T13:33:24+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/script/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/alerts/ 2024-08-17T09:21:57+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/ 2023-05-25T18:11:20-06:00 https://www.selenium.dev/pt-br/documentation/grid/getting_started/ 2023-05-25T18:11:20-06:00 https://www.selenium.dev/pt-br/documentation/about/contributing/ 2023-11-22T13:11:12-06:00 https://www.selenium.dev/pt-br/documentation/overview/details/ 2022-11-15T12:05:40+00:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/file_downloads/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/errors/ 2024-08-22T04:28:09-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/finders/ 2024-08-26T08:52:01-04:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/grid_3/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_ide/html_runner/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/install_library/ 2024-08-26T02:12:02-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/interactions/ 2024-07-19T10:00:08+02:00 https://www.selenium.dev/pt-br/documentation/ie_driver_server/internals/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/listeners/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/logging/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_2/upgrading/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/grid/configuration/cli_options/ 2024-04-23T12:32:53+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/options/ 2024-08-19T05:43:24-04:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_1/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/overview/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/graphql_support/ 2022-01-24T18:46:50+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/keyboard/ 2024-08-04T14:23:15+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/testing_types/ 2023-10-25T04:28:40+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/ 2024-03-29T20:25:04+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/http_response_codes/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/ 2024-08-26T02:03:37-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/http_client/ 2024-05-05T17:53:16+02:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/page_object_models/ 2023-07-20T04:44:31-03:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/endpoints/ 2024-04-24T14:15:02+00:00 https://www.selenium.dev/pt-br/documentation/selenium_manager/ 2024-08-26T01:49:39-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/service/ 2024-05-29T18:35:18+02:00 https://www.selenium.dev/pt-br/documentation/grid/configuration/toml_options/ 2024-04-23T12:32:53+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/colors/ 2023-08-03T23:04:23-05:00 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/chrome/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/grid_setup/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/errors/driver_location/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/grid/ 2024-02-06T13:37:55+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/information/ 2024-08-08T11:46:01+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/domain_specific_language/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/locators/ 2024-08-22T04:22:37-04:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/logging/ 2024-01-24T01:16:53+03:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/gmail_email_and_facebook_logins/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/mouse/ 2024-08-04T13:48:45+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/ 2022-11-03T09:08:46+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/network/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/customize_node/ 2024-05-17T13:30:43-04:00 https://www.selenium.dev/pt-br/documentation/grid/applicability/ 2022-11-15T15:53:55+00:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_2/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/cookies/ 2024-04-06T20:06:30+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/pen/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/test_dependency/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/edge/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/external_datastore/ 2023-06-27T20:27:08+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/generating_application_state/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/components/ 2023-07-05T20:45:15+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/waits/ 2024-05-07T19:44:07+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/firefox/ 2024-05-30T13:53:58+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/frames/ 2022-12-12T15:17:34+01:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/grid_components/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/wheel/ 2024-08-04T14:23:15+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/script/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_3/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_2/remote_server/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/mock_external_services/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/about/style/ 2023-11-22T17:00:07-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/performance_testing/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/thread_guard/ 2022-09-23T10:06:16-05:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/ 2022-11-14T16:09:47+00:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/link_spidering/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/improved_reporting/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/two_factor_authentication/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/configuration/ 2022-11-17T14:56:19+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/elements/ 2023-04-04T19:09:53+01:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/avoid_sharing_state/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/internet_explorer/ 2024-06-19T14:08:20+02:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/locators/ 2022-02-10T18:17:05+08:00 https://www.selenium.dev/pt-br/documentation/test_practices/discouraged/ 2022-11-14T16:09:47+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/first_script/ 2024-08-26T02:03:37-04:00 https://www.selenium.dev/pt-br/documentation/legacy/selenium_ide/ 2022-01-10T05:07:37-06:00 https://www.selenium.dev/pt-br/documentation/ie_driver_server/ 2023-10-24T23:55:35+01:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/windows/ 2024-07-05T15:23:34+05:30 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/test_independency/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/grid/architecture/ 2022-12-01T21:25:10+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/cdp/ 2024-08-17T21:40:33+08:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/upgrade_to_selenium_4/ 2024-04-29T06:34:50+02:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/consider_using_a_fluent_api/ 2023-05-17T19:23:53+10:00 https://www.selenium.dev/pt-br/documentation/ide/ 2022-11-10T08:57:29+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/ 2024-08-05T09:10:29+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/drivers/remote_webdriver/ 2024-07-27T11:43:12+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/browsers/safari/ 2024-07-08T07:13:22+02:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/select_lists/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/using_selenium/ 2024-08-26T04:05:54-04:00 https://www.selenium.dev/pt-br/documentation/test_practices/encouraged/fresh_browser_per_test/ 2022-07-28T14:45:40+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/log/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/grid/advanced_features/ 2023-10-24T23:55:35+01:00 https://www.selenium.dev/pt-br/documentation/test_practices/ 2022-11-14T16:09:47+00:00 https://www.selenium.dev/pt-br/documentation/webdriver/actions_api/ 2024-08-04T14:23:15+05:30 https://www.selenium.dev/pt-br/documentation/legacy/ 2023-06-27T20:27:08+05:30 https://www.selenium.dev/pt-br/documentation/webdriver/bidi/w3c/ 2024-07-10T08:34:50-07:00 https://www.selenium.dev/pt-br/documentation/about/ 2021-12-07T06:38:55-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/interactions/virtual_authenticator/ 2024-05-30T17:43:45+07:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/ 2023-10-25T10:47:57+01:00 https://www.selenium.dev/pt-br/documentation/webdriver/troubleshooting/ 2023-01-03T15:59:19-06:00 https://www.selenium.dev/pt-br/documentation/webdriver/support_features/expected_conditions/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/categories/ https://www.selenium.dev/pt-br/documentation/ 2023-11-17T04:17:19-06:00 https://www.selenium.dev/pt-br/ 2023-06-27T20:27:08+05:30 https://www.selenium.dev/pt-br/tags/ https://www.selenium.dev/pt-br/year/
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index aa5bb4ce5792..03154b64a0c3 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-
https://www.selenium.dev/en/sitemap.xml 2024-08-26T02:03:37-04:00 https://www.selenium.dev/pt-br/sitemap.xml 2024-08-26T02:03:37-04:00 https://www.selenium.dev/zh-cn/sitemap.xml 2024-08-26T02:03:37-04:00 https://www.selenium.dev/ja/sitemap.xml 2024-08-26T02:03:37-04:00 https://www.selenium.dev/other/sitemap.xml 2023-06-27T20:27:08+05:30
\ No newline at end of file
+
https://www.selenium.dev/en/sitemap.xml 2024-08-26T08:52:01-04:00 https://www.selenium.dev/pt-br/sitemap.xml 2024-08-26T08:52:01-04:00 https://www.selenium.dev/zh-cn/sitemap.xml 2024-08-26T08:52:01-04:00 https://www.selenium.dev/ja/sitemap.xml 2024-08-26T08:52:01-04:00 https://www.selenium.dev/other/sitemap.xml 2023-06-27T20:27:08+05:30
\ No newline at end of file
diff --git a/zh-cn/documentation/_print/index.html b/zh-cn/documentation/_print/index.html
index e8a5b76dd35c..45cb62764257 100644
--- a/zh-cn/documentation/_print/index.html
+++ b/zh-cn/documentation/_print/index.html
@@ -192,13 +192,13 @@
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.0'
该库所支持的Python版本最低版本可以在
支持的Python版本
章节中找到 PyPi
这里提供了几种不同的方式来安装 Selenium .
Pip 下载 此外你可以从这里下载 PyPI source archive
+
下载 此外你可以从这里下载 PyPI source archive
(selenium-x.x.x.tar.gz) 并通过: setup.py 文件安装:
python setup.py install
-
在项目中使用 为了在项目中使用它,需要将它添加到 requirements.txt
文件中:
在项目中使用 为了在项目中使用它,需要将它添加到 requirements.txt
文件中:
Selenium 所支持的所有平台的列表一览
见诸于 Nuget
该处阐述了一些安装Selenium的选项.
包管理器 Install-Package Selenium.WebDriver
-
.NET CLI dotnet add package Selenium.WebDriver
-
CSProj 在 csproj
文件里, 具体的依赖 PackageReference
(包参数) 位于 ItemGroup
(项目组)中:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
.NET CLI dotnet add package Selenium.WebDriver
+
CSProj 在 csproj
文件里, 具体的依赖 PackageReference
(包参数) 位于 ItemGroup
(项目组)中:
<PackageReference Include= "Selenium.WebDriver" Version= "4.23.0" />
其他附加思虑事项 更多的注意事项,适用于使用 Visual Studio Code (vscode) 和 C#
安装兼容的 .NET SDK 作为章节的先决条件
同时安装 vscode 的扩展 (Ctrl-Shift-X)以适配 C# 和 NuGet
可以遵照此处进行 操作指南
@@ -217,11 +217,11 @@
按下回车并选择版本.
现在你可以使用说明文档中关于 C# vscode下的案例了.
你可以查看 Selenium 对 Ruby 版本支持和最低支持.
具体位于 rubygems.org
Selenium 可以使用两种不同方法安装.
手动安装 gem install selenium-webdriver
-
加入项目的 gemfile gem 'selenium-devtools' , '= 0.127.0'
加入项目的 gemfile gem 'selenium-devtools' , '= 0.127.0'
You can find the minimum required version of Node for any given version of Selenium in the
你可以在此查看 Selenium 对 Node 的版本支持情况
位于 Node Support Policy
中的相关章节 npmjs
Selenium is typically installed using npm.
本地安装 npm install selenium-webdriver
-
加入项目 在你的项目 package.json
, 必须加入到 dependencies
:
加入项目 在你的项目 package.json
, 必须加入到 dependencies
:
Use the Java bindings for Kotlin.
下一步 创建你的第一个Selenium脚本
2.1.2 - 编写第一个Selenium脚本 逐步构建一个Selenium脚本的说明
当你完成 Selenium安装 后, 便可以开始书写Selenium脚本了.
八个基本组成部分 Selenium所做的一切,
就是发送给浏览器命令,
用以执行某些操作或为信息发送请求.
@@ -252,7 +252,7 @@
View full example on GitHub
driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' )
await driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' );
driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" )
您可以请求一系列关于浏览器的信息 ,
+View full example on GitHub
您可以请求一系列关于浏览器的信息 ,
包括窗口句柄、浏览器尺寸/位置、cookie、警报等.
Java
Python
@@ -285,7 +285,7 @@
View full example on GitHub