使用 Python Selenium 滚动浏览页面



我写了一个python脚本,旨在从网站上获取数据,但我无法浏览和循环浏览页面以收集链接。网站 https://www.shearman.com/people?网站上的 Xpath 如下所示;

  • ul class="results-pagination">
  • li class/a href onclick="PageRequest('2', event)">

当我运行下面的查询时,说该元素未附加到页面;

try:
# this is navigate to next page
driver.find_element_by_xpath('//ul[@class="results-pagination"]/li/[@onclick=">"]').click()
time.sleep(5)
except NoSuchElementException:
break

知道我在这方面做错了什么吗?

提前非常感谢。

克里斯

你可以试试这段代码

browser.get("https://www.shearman.com/people")  
wait = WebDriverWait(browser, 30) 
main_tab = browser.current_window_handle
navigation_buttons = browser.find_elements_by_xpath('//ul[@class="results-pagination"]//descendant::a')
size = len(navigation_buttons )
print ('this the length of list:',navigation_buttons )  
i = 0 
while i<size:
ActionChains(browser).key_down(Keys.CONTROL).click(navigation_buttons [i]).key_up(Keys.CONTROL).perform() 
browser.switch_to_window(main_tab)
i=i+1;
if i >= size:
break  

确保导入这些:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.action_chains import ActionChains

请注意,这将在新选项卡中打开每个链接。根据您的要求,您可以使用此xpath单击下一步按钮://ul[@class="results-pagination"]//descendant::a

如果你想在同一选项卡中一个接一个地打开链接,那么你将不得不处理陈旧的元素引用,因为一旦你从主页移出,所有元素都会过

相关内容

  • 没有找到相关文章

最新更新