Seleniumマウスクリックイベント

7175 ワード

位置を決めた後、必ず遅延を設定してください.そうでないと、実行が早すぎるjsファイルをクリックして、ロードが間に合わないので、クリックしても反応がないです.
最初は元素が出てくるのを待てばいいと思いましたが、ずっとクリックしても反応がないです.
public class SelTest {
    public static void main(String[] args) throws InterruptedException, IOException {
        System.setProperty("webdriver.edge.driver", "D:/  /msedgedriver.exe");
        WebDriver driver = new EdgeDriver();
        driver.get("http://app.xunjietupian.com/");
        //    
        driver.findElement(By.xpath("/html/body/div/div/section[2]/div/div/a/li")).click();
        //    ,         
        WebDriverWait wait = new WebDriverWait(driver, 10, 1);
        WebElement elem = wait.until(new ExpectedCondition<WebElement>() {
            @NullableDecl
            public WebElement apply(@NullableDecl WebDriver webDriver) {
                assert webDriver != null;
                return webDriver.findElement(By.xpath("//*[@id='app']/div[1]/div[3]/div/section[2]/div[2]"));
            }
        });
        System.out.println("elem.getText() = " + elem.getText());

        //Actions actions = new Actions(driver);
        Thread.sleep(2000);
        //actions.click(elem).perform();
        elem.click();
        Thread.sleep(2000);
        Runtime.getRuntime().exec("src/main/resources/uploadPic.exe");
        Thread.sleep(10000);
        driver.quit();

    }
}