Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在谷歌注册页面切换到另一种带有标签名div的语言?_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 如何在谷歌注册页面切换到另一种带有标签名div的语言?

Java 如何在谷歌注册页面切换到另一种带有标签名div的语言?,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,当我尝试使用操作切换Google注册页面中的语言时,出现了“将目标移出边界”错误?。也许这不是正确的方法,也不是正常的下拉列表。我们必须单击(而不是悬停),然后弹出式列表才能选择语言 我们用硒来改变它的方法是什么 网址: 我使用过的代码: d.navigate().to("https://accounts.google.com/signup?hl=en"); d.findElement(By.xpath("//*[@id='lang-chooser']/div[1]

当我尝试使用操作切换Google注册页面中的语言时,出现了“将目标移出边界”错误?。也许这不是正确的方法,也不是正常的下拉列表。我们必须单击(而不是悬停),然后弹出式列表才能选择语言

我们用硒来改变它的方法是什么

网址:

我使用过的代码:

d.navigate().to("https://accounts.google.com/signup?hl=en");
d.findElement(By.xpath("//*[@id='lang-chooser']/div[1]/div[1]/div[9]/span")).click();
Actions ac=new Actions(d);
    
WebElement eng_uk=d.findElement(By.xpath("//*[@id='lang-chooser']/div[1]/div[1]/div[8]/span"));
ac.moveToElement(eng_uk).click().perform(); 
我得到的错误是:

线程“main”中出现异常 org.openqa.selenium.interactions.MoveTargetOutOfBoundsException:移动 目标出界


我用Java编写了这段代码,它很有效

Try-catch块可以通过检查getAttribute()方法的null返回来替换它们来清除

driver.get(“https://accounts.google.com/signup?hl=en");
ArrayList元素=新的ArrayList(driver.findElements(By.tagName(“div”)));
对于(int i=0;i
我用Java编写了这段代码,它很有效

Try-catch块可以通过检查getAttribute()方法的null返回来替换它们来清除

driver.get(“https://accounts.google.com/signup?hl=en");
ArrayList元素=新的ArrayList(driver.findElements(By.tagName(“div”)));
对于(int i=0;i
Hi,请查看并提供问题的详细说明,以及演示问题、预期输出和任何错误消息所需的最少代码。Hi,请查看并提供问题的详细说明,以及演示问题、预期输出和任何错误消息所需的最少代码。
driver.get("https://accounts.google.com/signup?hl=en");
    
    ArrayList<WebElement> elements = new ArrayList<WebElement>(driver.findElements(By.tagName("div")));
    
    
    for(int i = 0; i < elements.size(); i++) {
        
        try {
            
        if(elements.get(i).getAttribute("jsname").equals("wQNmvb")) {
            
            if(elements.get(i).getText().contains("English (United States)")) {
                
                new Actions(driver).moveToElement(elements.get(i)).click().perform();
                
                break;
                
            }
                
            
        }
            
        } catch(Exception e){}
        
        
    }
    
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
    elements = (ArrayList<WebElement>) driver.findElements(By.tagName("div"));
    
    for(int i = 0; i < elements.size(); i++) {
        
        try {
        
        if(elements.get(i).getAttribute("jsname").equals("wQNmvb")) {
        
        if(elements.get(i).getText().contains("Deutsch")) {
            
            JavascriptExecutor executor = (JavascriptExecutor)driver;
            executor.executeScript("arguments[0].click();", elements.get(i));
            
            
            
            break;
            
        }
        
        }
        
        } catch(Exception e) {}
        
    }