簡體   English   中英

使用 Python Selenium 4.1.0 獲取頁面上的所有鏈接

[英]get all links on a page with Python Selenium 4.1.0

我想使用 Python Selenium 查找並訪問頁面上的所有鏈接。 我收到以下錯誤。

回溯(最后一次調用):文件“C:\Users\Acer\PycharmProjects\selenium-rpa\main.py”,第 24 行,在 print(elem.get_attribute("href")) AttributeError: 'str' object 有沒有屬性“get_attribute”。 你的意思是:' getattribute '?

我的代碼:

from selenium import webdriver
from datetime import datetime
import requests, urllib3
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service

PATH = Service("C:\chromedriver.exe")
url = "http://localhost/rpa_anomaly/test.php"
browser = webdriver.Chrome(service=PATH)
browser.get(url)

elems = browser.find_element(By.XPATH, "//a[@href]")
for elem in elems:
    print(elem.get_attribute("href"))

這里有同樣的問題,但我的 selenium 版本更新。 所以我不能像下面那樣使用它

elems = driver.find_elements_by_xpath("//a[@href]")
for elem in elems:
    print(elem.get_attribute("href"))

在 python 中使用 selenium 獲取所有 href 鏈接

您可以嘗試使用標記名的常規方法

from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager

driver = webdriver.Edge(EdgeChromiumDriverManager().install())
driver.get("http://localhost/rpa_anomaly/test.php")
# identify elements with tagname <a>
lnks = driver.find_elements_by_tag_name("a")
# traverse list
for lnk in lnks:

    print(lnk.get_attribute("href"))
driver.quit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM