繁体   English   中英

Webscraping 点击按钮 Selenium

[英]Webscraping Click Button Selenium

我正在尝试使用 python、selenium 和 beautifulsoup 进行 webscrape indeed.com 搜索工作。我想单击下一页,但似乎无法弄清楚如何执行此操作。 查看了许多线程,但我不清楚我应该在哪个元素上执行。 这是 web 页 html,当我检查下一个按钮时,会出现标有灰色的代码。

在此处输入图像描述

还要提一下,我首先尝试跟踪执行 mousedown 时 url 发生的情况。 阅读 addppurlparam function 并在 function 中添加字符串并使用 url 后,我就回到了第一页。

这是我的 class 代码,其中 selenium 用于单击按钮:

   from selenium import webdriver
from selenium.webdriver import ActionChains

driver = webdriver.Chrome("C:/Users/alleballe/Downloads/chromedriver.exe")
driver.get("https://se.indeed.com/Internship-jobb")
print(driver.title)
#assert "Python" in driver.title
elem = driver.find_element_by_class_name("pagination-list")
elem = elem.find_element_by_xpath("//li/a[@aria-label='Nästa']")
print(elem)
assert "No results found." not in driver.page_source
assert elem

action = ActionChains(driver).click(elem)
action.perform()
print(elem)

driver.close()

Indeed 网站的格式设置为每页显示 10 个。

您的照片显示错误的部分 HTML 相反,您可以看到链接包含第一页的start=0 ,第二页的start=10 ,第三页的start=20 ,...

您可以使用这些知识来编写如下代码:

while True:
    i = 0
    driver.get(f'https://se.indeed.com/jobs?q=Internship&start={i}')
    # code here
    i = i + 10

但是,要直接回答您的问题,您应该这样做:

next_page_link = driver.find_element_by_xpath('/html/head/link[6]')
driver.get(next_page_link)

这将找到链接,然后获取它。

是工作。 分页到下一页。

driver.find_element_by_class_name("pagination-list").find_element_by_tag_name('a').click()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM