我们使用联盟链接。它们让我们能够维持运营,而您无需承担任何费用。

如何使用 Selenium 查找所有 URL

有关如何使用 Selenium 查找所有 URL 的分步指南。

重要提示:我们将在本教程中使用真实示例,因此您需要安装 Selenium 库和浏览器驱动程序。

步骤 1。 写下你的第一个 Selenium 脚本. 注意: 我们将使用 Python  以及  Chrome WebDriver。 你可以添加 Chrome 网络驱动程序 至 这个 途径. 步骤 2。 现在你需要导入 By 选择器模块。
				
					from selenium.webdriver.common.by import By
				
			
TIPS: 定位元素。 步骤 3。 我们将使用 books.toscrape.com 在这个例子中。 如果你只需要查找所有链接,选择全部  标签就足以让他们 HREF 属性。使用 来自.TAG_NAME 选择器:
				
					link_elements = driver.find_elements(By.TAG_NAME, "a")

for link in link_elements:

    print (link.get_attribute("href"))
				
			

注意: 在上面的代码中,我们获取所有元素  标签并遍历它们以打印出它们的 HREF 属性。

这是 脚本的输出。它显示您刚刚抓取的元素。

selenium 查找所有链接标签名

目前为止的完整代码:

				
					from selenium import webdriver
from selenium.webdriver.common.by import By
import re

driver = webdriver.Chrome()

driver.get("http://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html")

link_elements = driver.find_elements(By.TAG_NAME, "a")
for link in link_elements:

    print (link.get_attribute("href"))

driver.quit()
				
			

使用 CSS 或 XPath 选择器查找链接

步骤 1。 我们将在示例中使用主页来获取我们可以在主页上找到的评论的 URL。

检查页面源代码。你可以看到所有这些链接都有一个共同点—— 评论/ 字符串存在于其 HREF 属性。这就是您需要选择的。

selenium 查找所有链接 pway

步骤 2。 你可以写下 的CSS 以及  XPath的 选择器如下:

				
					elements_by_css = driver.find_elements(By.CSS_SELECTOR, "a[href*='reviews/']")

elements_by_xpath = driver.find_elements(By.XPATH, "//a[contains(@href,'reviews/')]")
				
			

注意: 他们俩都在寻找  文档中的标签带有一个 href 标签,其中包含 评论/ 子字符串。

步骤 3。 您可以添加几行代码来打印所有内容。整个脚本如下所示:

				
					from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get("https://proxyway.com")

elements_by_css = driver.find_elements(By.CSS_SELECTOR, "a[href*='reviews/']")
elements_by_xpath = driver.find_elements(By.XPATH, "//a[contains(@href,'reviews/')]")

print ("By CSS:")   
for link in elements_by_css:
    print (link.get_attribute("href"))
print ("By XPath:")   
for link in elements_by_xpath:
    print (link.get_attribute("href"))
driver.quit()
				
			

这是 脚本的输出。它显示您刚刚抓取的链接。

selenium 查找所有链接输出

注意: 您可以看到两个选择器都返回相同的链接。创建新列表来存储唯一的在线链接后,可以轻松过滤掉一些重复项。