我試圖在 Python 中使用 Selenium 來做到這一點:
標題1
鏈接1
標題2
鏈接2 ...
目前我有這個代碼:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
PATH = r"C:\Users\Desktop\py\msedgedriver.exe"
driver = webdriver.Edge(PATH)
driver.maximize_window()
driver.get('https://www.google.com/')
searchbar = driver.find_element(by=By.CLASS_NAME, value='gLFyf')
searchbar.send_keys('selenium')
searchbar.send_keys(Keys.RETURN)
titles = driver.find_elements(by=By.CLASS_NAME, value='LC20lb')
links = driver.find_elements(by=By.TAG_NAME, value='a')
for link in links:
href = link.get_attribute('href')
print(href)
for title in titles:
print(title.text)
time.sleep(5)
driver.quit()
但是,列印出來的鏈接是谷歌搜索鏈接,而不是網站本身的鏈接。此外,所有鏈接都在標題之前列印出來(我明白為什么會發生這種情況,但不知道如何解決)
請問有什么方法可以解決這2個問題?先感謝您。
uj5u.com熱心網友回復:
for將代碼中的回圈替換為,
for i, link in enumerate(links):
try:
print(titles[i].text)
except:
pass
print(link.get_attribute("href"));print()
輸出 -
Selenium Tutorial for Beginners: Learn WebDriver & Testing
https://www.google.com/search?q=selenium&source=lnms&tbm=bks&sa=X&ved=2ahUKEwiHuNKqiOv3AhXITWwGHZXxBlwQ_AUoAXoECAIQAw
Selenium: Definition, How it works and Why you need it
https://www.google.com/search?q=selenium&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiHuNKqiOv3AhXITWwGHZXxBlwQ_AUoAnoECAIQBA
What Is Selenium ? A Tutorial on How to Use ... - LambdaTest
https://www.google.com/search?q=selenium&source=lnms&tbm=vid&sa=X&ved=2ahUKEwiHuNKqiOv3AhXITWwGHZXxBlwQ_AUoA3oECAIQBQ
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/478010.html
上一篇:java.lang.IllegalStateException:驅動程式可執行檔案的路徑必須由webdriver.chrome.driver系統屬性設定-類似的沒有回答
