获取异常:元素不可单击,因为另一个元素遮挡了它 包装粗包; 导入java.util.List; 导入java.util.concurrent.TimeUnit; 导入org.openqa.selenium.By; 导入org.openqa.selenium.WebDriver; 导入org.openqa.selenium.WebElement; 导入org.openqa.selenium.firefox.FirefoxDriver; 导入org.openqa.selenium.support.ui.Select; 导入org.openqa.selenium.support.ui.WebDriverWait; 公共类MyClass{ 公共静态void main(字符串[]args){ System.setProperty(“webdriver.gecko.driver”、“D:\\Executabel\\geckodriver-v0.21.0-win64\\geckodriver.exe”); WebDriver=newfirefoxdriver(); WebDriverWait wait=新的WebDriverWait(驱动程序,20); 驱动程序。获取(“http://pro.tykitksa.com/"); driver.manage().window().maximize(); driver.manage().timeout().pageLoadTimeout(5,TimeUnit.SECONDS); List dropDownList=driver.findElements(By.id(“用户事件城市”); System.out.println(dropDownList.size()); 对于(int i=0;i

获取异常:元素不可单击,因为另一个元素遮挡了它 包装粗包; 导入java.util.List; 导入java.util.concurrent.TimeUnit; 导入org.openqa.selenium.By; 导入org.openqa.selenium.WebDriver; 导入org.openqa.selenium.WebElement; 导入org.openqa.selenium.firefox.FirefoxDriver; 导入org.openqa.selenium.support.ui.Select; 导入org.openqa.selenium.support.ui.WebDriverWait; 公共类MyClass{ 公共静态void main(字符串[]args){ System.setProperty(“webdriver.gecko.driver”、“D:\\Executabel\\geckodriver-v0.21.0-win64\\geckodriver.exe”); WebDriver=newfirefoxdriver(); WebDriverWait wait=新的WebDriverWait(驱动程序,20); 驱动程序。获取(“http://pro.tykitksa.com/"); driver.manage().window().maximize(); driver.manage().timeout().pageLoadTimeout(5,TimeUnit.SECONDS); List dropDownList=driver.findElements(By.id(“用户事件城市”); System.out.println(dropDownList.size()); 对于(int i=0;i,java,selenium,webdriver,Java,Selenium,Webdriver,您需要添加wait for CityModel webelement,因为在页面加载时,您的下拉列表不可见: package Roughpack; import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; i

您需要添加wait for CityModel webelement,因为在页面加载时,您的下拉列表不可见:

package Roughpack;

import java.util.List;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.support.ui.Select;

import org.openqa.selenium.support.ui.WebDriverWait;

public class MyClass {

    public static void main(String[] args) {

        System.setProperty("webdriver.gecko.driver","D:\\Executabel\\geckodriver-v0.21.0-win64\\geckodriver.exe");

        WebDriver driver = new FirefoxDriver();

        WebDriverWait wait = new WebDriverWait(driver, 20);

        driver.get("http://pro.tykitksa.com/");

        driver.manage().window().maximize();

        driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);

        List<WebElement> dropDownList = driver.findElements(By.id("user_event_city"));

        System.out.println(dropDownList.size());

        for (int i = 0; i < dropDownList.size(); i++) {

            System.out.println(dropDownList.get(i).getText());

            WebElement Dropdown = driver.findElement(By.id("user_event_city"));

            Select select = new Select(Dropdown);

            select.selectByIndex(4);

        }

    }
}
System.setProperty(“webdriver.gecko.driver”,“D:\\Executabel\\geckodriver-v0.21.0-win64\\geckodriver.exe”);
WebDriver=newfirefoxdriver();
WebDriverWait wait=新的WebDriverWait(驱动程序,20);
驱动程序。获取(“http://pro.tykitksa.com/");
driver.manage().window().maximize();
driver.manage().timeout().pageLoadTimeout(5,TimeUnit.SECONDS);
//这是等待se pre con home元素将不可见
wait.until(ExpectedConditions.invisibilityOf(driver.findelelement(By.xpath(“//div[@class=\“se pre-con-home\”]));
List dropDownList=driver.findElements(By.id(“用户事件城市”);
System.out.println(dropDownList.size());
对于(int i=0;i
但所有下拉列表都显示在控制台System.out.println(dropDownList.get(i).getText())上;当页面已经打开时,它在浏览器中,但当启动webdriver时,页面看起来像->,因此需要等待CityModel元素在线程“main”中得到相同的异常org.openqa.selenium.Element ClickInterceptedException:元素在点(951.5508.9666748046875)处不可单击,因为另一个元素遮挡了it@MyTesting_Account现在查看解决方案,请再试一次,我编辑wait@Sergiy Konoplyaniy谢谢,伙计,现在工作正常了。。。。
System.setProperty("webdriver.gecko.driver","D:\\Executabel\\geckodriver-v0.21.0-win64\\geckodriver.exe");

    WebDriver driver = new FirefoxDriver();

    WebDriverWait wait = new WebDriverWait(driver, 20);

    driver.get("http://pro.tykitksa.com/");

    driver.manage().window().maximize();

    driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);

//this is wait for se-pre-con-home element will be invisible        
wait.until(ExpectedConditions.invisibilityOf(driver.findElement(By.xpath("//div[@class=\"se-pre-con-home\"]")))); 

    List<WebElement> dropDownList = driver.findElements(By.id("user_event_city"));

    System.out.println(dropDownList.size());

    for (int i = 0; i < dropDownList.size(); i++) {

        System.out.println(dropDownList.get(i).getText());

        WebElement Dropdown = driver.findElement(By.id("user_event_city"));

        Select select = new Select(Dropdown);

        select.selectByIndex(4);