无法在" span"下选择文字。使用硒

时间:2017-12-10 20:02:23

标签: selenium xpath

我试图点击此页面上的频道链接,

https://www.youtube.com/results?search_query=kaza+lol+highlights

<span class="style-scope ytd-channel-renderer">Kaza LoL LCS Highlights</span>

我试过了,

driver.findElement(By.xpath("//span[text()='Kaza LoL LCS Highlights']")).click();

driver.findElement(By.xpath("//span[contains(text(),'Kaza LoL LCS Highlights')]")).click();

但它不起作用。 &#34;无法找到元素&#34;。请帮忙

3 个答案:

答案 0 :(得分:0)

要点击Channel Link Kaza LoL LCS Highlights ,您可以使用以下代码行:

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='style-scope ytd-channel-renderer' and contains(text(),'Kaza LoL LCS Highlights')]"))).click();

答案 1 :(得分:0)

您可以使用JavascriptExecutor点击链接

WebElement channelLink= driver.findElement(By.xpath("//span[text()='Kaza LoL LCS Highlights']"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", channelLink);

答案 2 :(得分:0)

您可以尝试以下代码,它应该适合您:

driver.findElement(By.id("channel-title")).click();

上面的代码将始终单击第一个项目,如果要使用自定义代码基于文本单击,则可以使用:

driver.findElement(By.xpath("//h3[@id='channel-title']//span[text()='Kaza LoL LCS Highlights']")).click();