硒 - 不可点击的链接[重复]

Posted

技术标签:

【中文标题】硒 - 不可点击的链接[重复]【英文标题】:selenium - not clickable link [duplicate] 【发布时间】:2020-01-02 18:53:57 【问题描述】:

我正在使用 Selenium 库解析网站 "https://www.diretta.it"。 当我再次单击后尝试单击链接时,没有结果。

这是代码:

public static void main(String[] args)

    String url = "https://www.diretta.it/serie-a-2016-2017/";

    // System Property for Chrome Driver   
    System.setProperty("webdriver.chrome.driver","C:\\..\\chromedriver_win32\\chromedriver.exe");  

    // Instantiate a ChromeDriver class.      
    WebDriver driver=new ChromeDriver(); 
    driver.manage().window().maximize();

    driver.get(url);
    driver.findElement(By.xpath("//a[@href='/serie-a-2016-2017/risultati/']")).click();

    try 
    
        Thread.sleep(3000); //  3 secondi
     
    catch (InterruptedException e) 
    
        // TODO Auto-generated catch block
        e.printStackTrace();
    

这部分代码好像没有执行过

    WebElement element = driver.findElement(By.xpath("//a[@class='event__more event__more--static']"));
    Actions actions = new Actions(driver);
    actions.moveToElement(element).click().build().perform();       

这是我要点击的链接:

enter image description here

【问题讨论】:

【参考方案1】:

这是一个动态元素,因此您需要诱导 Web 驱动程序等待:

WebDriverWait wait = new WebDriverWait(driver, 30);
String xpath = "//a[@class='event__more event__more--static']";
WebElement link = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpath));

link.click();

进口:

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

【讨论】:

谢谢,但这个解决方案在我的情况下不起作用。

以上是关于硒 - 不可点击的链接[重复]的主要内容,如果未能解决你的问题,请参考以下文章

通过硒单击链接

硒 - 蟒蛇。如何捕获网络流量的响应[重复]

元素 MyElement 在点 (x, y) 处不可点击...其他元素将收到点击

为啥这个硒直到结束才点击“下一页”?

单击硒作为双击

TabBarController 添加自定义按钮不可点击问题[重复]