如何用Selenium点击di.se网站的nyckeltal标签?原方法失效
解决Selenium点击"nyckeltal"标签的问题
由于网站类名变更,原XPath失效,可尝试以下几种定位方式来点击"nyckeltal"标签:
按标签文本直接定位:利用标签显示的文本内容定位,不受类名变更影响,稳定性较高:
driver.findElement(By.xpath("//a[text()='nyckeltal']")).click();若文本存在前后空格,可改用模糊匹配:
driver.findElement(By.xpath("//a[contains(text(), 'nyckeltal')]")).click();结合显式等待确保元素加载:避免页面未完全加载导致元素找不到,建议配合显式等待使用:
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[text()='nyckeltal']"))).click();结合其他属性定位:如果文本定位失效,可查看标签的其他属性(如
data-target、aria-label等)是否保留,比如假设data-target仍为2,可调整XPath:driver.findElement(By.xpath("//a[contains(@data-target, '2') and contains(text(), 'nyckeltal')]")).click();
内容的提问来源于stack exchange,提问作者torbjörn södheim
相关产品推荐
相关产品推荐

