在点击提交按钮并获得几页结果后,我正试图让selenium点击该网站的下一页按钮:https://elibrary.ferc.gov/eLibrary/search
我试过无数种方法让硒点击这个按钮。结果页面上下一页按钮的html代码如下:
<button class="mat-paginator-navigation-next mat-icon-button" mat-icon-button="" type="button" aria-describedby="cdk-describedby-message-8" cdk-describedby-host="" aria-label="Next page" style="touch-action: none; user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><span class="mat-button-wrapper"><svg class="mat-paginator-icon" focusable="false" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg></span><div class="mat-button-ripple mat-ripple mat-button-ripple-round" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
我试过以下几种:
link = driver.find_element_by_xpath('//*[@id="rsltToolbar"]/mat-paginator/div/div/div[2]/button[2]')
link.click()
但是代码不起作用。希望这是需要点击的按钮!我尝试过css选择器、class_name、javascript等,但都没有成功。非常感谢您的帮助。
link = driver.find_element_by_classname("mat-paginator-navigation-next")
应该工作良好
# (tested in js console with)
document.querySelector(".mat-paginator-navigation-next").click()
你可能只需要添加一个延迟(即它最初可能无法点击(或者点击得太快也无济于事((我认为你可以等待它以某种方式点击
driver.findElement(By.id("submit")).click();
Thread.sleep(4000);
driver.findElement(By.xpath("//*[@id='rsltToolbar']/mat-paginator/div/div/div[2]/button[2]")).click();
您尝试过的XPath正在工作,只需要在单击"后添加延迟;搜索";在第";https://elibrary.ferc.gov/eLibrary/search">