我测试了以下代码:
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select
;
public class TestTwiter {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver = new ChromeDriver();
driver.get("https://twitter.com/?lang=fr");
Thread.sleep(2000);
driver.findElement(By.xpath("//span[contains(text(),'Créer un compte')]")).click();;
WebElement NomPrenom = driver.findElement(By.cssSelector("input[name='name']"));
NomPrenom.sendKeys("foulen ben foulen");
NomPrenom.sendKeys(Keys.TAB);
Thread.sleep(2000);
WebElement mail = driver.switchTo().activeElement();
mail.sendKeys("[email protected]");
Thread.sleep(2000);
WebElement listeMois = driver .findElement(By.xpath("//select[@id='SELECTOR_1']"));
Thread.sleep(2000);
Select mois = new Select(listeMois);
mois.selectByIndex(2);
Thread.sleep(2000);
// Ou bien, vous pouvez utiliser l'une des méthodes suivantes pour sélectionner le mois :
//mois.selectByValue("2");
//mois.deselectByVisibleText("Février");
WebElement jourdropdown = driver.findElement(By.cssSelector("#SELECTOR_2"));
Select jour = new Select(jourdropdown);
jour.selectByValue("3");
Thread.sleep(2000);
WebElement Annéesdropdown = driver .findElement(By.cssSelector("#SELECTOR_3"));
Select Années = new Select(Annéesdropdown );
Années.selectByValue("1999");
Thread.sleep(2000);
WebElement Button = driver .findElement(By.cssSelector("span[class='css-1qaijid r-dnmrzs r-1udh08x r-3s2u2q r-bcqeeo r-qvutc0 r-poiln3 r-1inkyih r-rjixqe'] span[class='css-1qaijid r-bcqeeo r-qvutc0 r-poiln3']"));
Button.click();
List <WebElement> links = driver .findElements(By.tagName("a"));
int linkCount = links.size();
System.out.println("le nombre de liens est : " + linkCount);
driver.close();
当我运行时,我收到错误:
Exception in thread "main" : no such element: unable to locate element : "method":"css selector","selector:"input[name='name']"
我需要帮助。
我尝试通过
css
更改 xpath
选择器,但收到相同的结果。
尝试在声明 NomPrenom 变量之前添加等待,因为输入字段之前有一个加载程序。因此,当驱动程序尝试查找文本字段时,它会失败,因为网络应用程序正在加载字段
您能否提供您要选择的元素的 HTML 代码?如果 CSS Selector 和 XPath 都存在问题,则表明问题可能出在语法或结构上。