如何使用 Selenium 和 Python 提取元素的 href 属性

我想在www.tab.com.au的“Racing-Next to Go”部分的 HTML 中抓取 URL 。


以下是 HTML 的摘录:


<a ng-href="/racing/2020-07-31/MACKAY/MAC/R/8" href="/racing/2020-07-31/MACKAY/MAC/R/8"><i ng- 

我只想抓取 HTML 的最后一点,它是一个链接,所以:


/racing/2020-07-31/MACKAY/MAC/R/8

我尝试使用 xpath 查找元素,但无法获取所需的 URL。


我的代码:


driver = webdriver.Firefox(executable_path=r"C:\Users\Harrison Pollock\Downloads\Python\geckodriver-v0.27.0-win64\geckodriver.exe")

driver.get('https://www.tab.com.au/')

elements = driver.find_elements_by_xpath('/html/body/ui-view/main/div[1]/ui-view/version[2]/div/section/section/section/race-list/ul/li[1]/a')

for e in elements:

    print(e.text)


千巷猫影
浏览 132回答 3
3回答

慕哥6287543

可能您想使用get_attributeinsted of .text。文档在这里。elements = driver.find_elements_by_xpath('/html/body/ui-view/main/div[1]/ui-view/version[2]/div/section/section/section/race-list/ul/li[1]/a')for e in elements:&nbsp; &nbsp; print(e.get_attribute("href"))

凤凰求蛊

/racing/2020-07-31/MACKAY/MAC/R/8HTML 中的值是href属性的值而不是innerText.解决方案而不是使用您需要使用的文本get_attribute("href")属性,有效的代码行将是:elements = driver.find_elements_by_xpath('/html/body/ui-view/main/div[1]/ui-view/version[2]/div/section/section/section/race-list/ul/li[1]/a')for e in elements:&nbsp; &nbsp; print(e.get_attribute("href"))

慕斯709654

是的,您可以根据需要使用getAttribute(attributeLocator)函数。selenium.getAttribute(//xpath@href);指定您需要知道其类别的元素的 Xpath。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python