我试图点击此页面上的频道链接,
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;。请帮忙
答案 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();