如何单击动画后可见的按钮? Selenium 网络驱动程序 Java
How to click to a button which can be visiable after an Animation?? Selenium Webdriver Java
首先,您可以查看视频,看看我要点击哪个按钮。这是 15 秒的视频:https://evrenos-hotmail.tinytake.com/sf/MTc4NTkzNV81ODM3MDA5
无法通过 Xpath 直接尝试单击来单击该按钮:
WebElement button = driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]/button"));
button.click();
这是 div 的 html 部分:
<div class="col-md-6 col-xs-12 col-sm-6 u-height180 assessment-box assessment-box--orange u-mb15">
<div class="bg-white u-rounded3">
<div class="assessment-box__time c-greydark"><i class="icon_clock_alt"></i> ~ 5 min</div>
<div class="alignment">
<div>
<img src="https://supercv-stg.azureedge.net//Content/images/tests/page-personality.svg?1.0.0.12687" alt="" class="u-maxwidthfull">
<div class="assessment-box__label u-truncate">My Personality</div>
<div class="c-greydark u-font-style-italic u-truncate u-font-small u-lineheight1-2">Gain insight into your unique personality.</div>
</div>
</div>
<div class="assessment-box__percentage" data-percentage="0" style="width: 0%;"></div>
<div class="assessment-box__hover">
<span class="lines"><span></span></span>
<button onclick="continueToTest('/assessments/76/introduction', true)" s-analytics="get-started-assessments-for-personality">Get Started</button>
</div>
</div>
</div>
基本上我想点击这里的 "Get Started" 按钮 <button onclick="continueToTest('/assessments/76/introduction', true)" s-analytics="get-started-assessments-for-personality">Get Started</button>
我还尝试先点击框架,激活动画并使按钮可见,然后尝试点击 "getstarted" 按钮,但也没有用。
WebElement button = driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]/button"));
WebElement frame= driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]"));
frame.click();
Thread.sleep(1500);
button.click();
注意:想要亲自查看页面的人可以直接从 supercareer.com 创建一个帐户,无需验证,可以去评估(从左侧面板)查看。
此按钮只有在鼠标悬停在框上后才可用。您可以尝试以下方法,可能对您有所帮助。
WebElement button = driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]/button"));
WebElement frame= driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div"));
new Actions(driver).moveToElement(frame).click(button).perform();
首先,您可以查看视频,看看我要点击哪个按钮。这是 15 秒的视频:https://evrenos-hotmail.tinytake.com/sf/MTc4NTkzNV81ODM3MDA5
无法通过 Xpath 直接尝试单击来单击该按钮:
WebElement button = driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]/button"));
button.click();
这是 div 的 html 部分:
<div class="col-md-6 col-xs-12 col-sm-6 u-height180 assessment-box assessment-box--orange u-mb15">
<div class="bg-white u-rounded3">
<div class="assessment-box__time c-greydark"><i class="icon_clock_alt"></i> ~ 5 min</div>
<div class="alignment">
<div>
<img src="https://supercv-stg.azureedge.net//Content/images/tests/page-personality.svg?1.0.0.12687" alt="" class="u-maxwidthfull">
<div class="assessment-box__label u-truncate">My Personality</div>
<div class="c-greydark u-font-style-italic u-truncate u-font-small u-lineheight1-2">Gain insight into your unique personality.</div>
</div>
</div>
<div class="assessment-box__percentage" data-percentage="0" style="width: 0%;"></div>
<div class="assessment-box__hover">
<span class="lines"><span></span></span>
<button onclick="continueToTest('/assessments/76/introduction', true)" s-analytics="get-started-assessments-for-personality">Get Started</button>
</div>
</div>
</div>
基本上我想点击这里的 "Get Started" 按钮 <button onclick="continueToTest('/assessments/76/introduction', true)" s-analytics="get-started-assessments-for-personality">Get Started</button>
我还尝试先点击框架,激活动画并使按钮可见,然后尝试点击 "getstarted" 按钮,但也没有用。
WebElement button = driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]/button"));
WebElement frame= driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]"));
frame.click();
Thread.sleep(1500);
button.click();
注意:想要亲自查看页面的人可以直接从 supercareer.com 创建一个帐户,无需验证,可以去评估(从左侧面板)查看。
此按钮只有在鼠标悬停在框上后才可用。您可以尝试以下方法,可能对您有所帮助。
WebElement button = driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div/div[4]/button"));
WebElement frame= driver.findElement(By.xpath(".//*[@id='DashboardContent']/div[2]/div/div/div[1]/div"));
new Actions(driver).moveToElement(frame).click(button).perform();