获取异常:元素不可单击,因为另一个元素遮挡了它 包装粗包; 导入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
您需要添加wait for CityModel webelement,因为在页面加载时,您的下拉列表不可见:获取异常:元素不可单击,因为另一个元素遮挡了它 包装粗包; 导入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
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);