我敢肯定,这已经在某个地方得到了回答,因为这是一个非常基本的问题-但是,对于我的一生,我无法在网上找到答案。我觉得自己是个白痴,但是我不得不问,这是:
我正在编写一个python代码,该代码将生成域中所有页面地址的列表。这是使用selenium2完成的-当我尝试访问由selenium产生的所有链接的列表时,会发生我的问题。
这是我到目前为止的内容:
from selenium import webdriver import time HovedDomene = 'http://www.example.com' Listlinker = [] Domenesider = [] Domenesider.append(HovedDomene) driver = webdriver.Firefox() for side in Domenesider: driver.get(side) time.sleep(10) Listlinker = driver.find_elements_by_xpath("//a") for link in Listlinker: if link in Domenesider: pass elif str(HovedDomene) in str(link): Domenesider.append(side) print(Domenesider) driver.close()
该Listlinker变量不包含在页面上找到的链接- 而是列表包含(我在这里猜测)称为WebElements的特定于selenium的对象。但是,我找不到任何可以提供链接的WebElement属性- 事实上,我找不到在python中访问的WebElement属性的任何示例(至少不是我可以重现的方式)
Listlinker
我真的很感谢大家能给我的任何帮助
真诚的新秀
我熟悉python的硒API,但您可能可以使用get_attribute(attributename)方法接收链接。所以应该是这样的:
get_attribute(attributename)
linkstr = "" for link in Listlinker: linkstr = link.get_attribute("href") if linkstr in Domenesider: pass elif str(HovedDomene) in linkstr: Domenesider.append(side)