我曾尝试以click
方式在Google图片上进行过多次尝试,但到目前为止还没有运气?你能帮忙吗?
<div class="AppLogos">
<span class="iTunesLogo">
<span class="GoogleLogo">
<a href="https://play.google.com/store/apps/details?id=com.sportsdirect.sdapp&hl=en&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" target="_top">
<img class="img-responsive" alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png">
</a>
</span>
</div>
答案 0 :(得分:0)
我不知道您使用的是哪种语言,但对于C#:
IWebElement googleLogo = driver.FindElement(By.ClassName("img-responsive"));
googleLogo.Click();
应该可以工作,具体取决于html的其余部分,以及该类是否出现在其他地方。 XPath应该可以正常工作。
答案 1 :(得分:0)
来自评论: -
www.sportsdirect.com - 我想在启动时找到谷歌应用徽标(第二个弹出窗口)
(假设您正在使用JAVA)实际上这个pop位于<iframe>
内,这就是您无法找到此元素的原因。你应该尝试使用WebDriverWait
等待这个<iframe>
出现在欲望弹出窗口中,然后在找到欲望元素之前切换到<iframe>
,如下所示: -
driver.get("http://www.sportsdirect.com/");
driver.manage().window().maximize()
WebDriverWait wait = new WebDriverWait(driver, 60)
//now wait for pop visible with iframe and then switch to it
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe[src*='appadvert']")));
//now wait for desire element visible and enable to click
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("span.GoogleLogo > a"))).click();