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

如何使用 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"))
				
			

注意:在上面的代码中,我们获取所有带有<a>标签的元素,并遍历它们以打印出它们的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属性中包含reviews/字符串。这就是你需要选择的内容。

selenium 查找所有链接 pway

步骤 2.您可以按如下方式编写CSSXPath选择器:

				
					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 标签且包含reviews/子字符串的<a>标签。

步骤 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 查找所有链接输出

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