我确信这个问题已经在某个地方得到了回答,因为这是一个非常基本的问题 - 然而,我无法在网上找到答案。我觉得自己像个彻头彻尾的白痴,但我不得不这么问,这里是:
我正在编写一个 python 代码,它将生成域上所有页面地址的列表。这是使用 selenium 2 完成的——当我尝试访问由 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 属性的示例(至少不是我可以重现的方式)
如果你们能给我任何帮助,我将不胜感激
真诚的 菜鸟
最佳答案
我熟悉python的selenium api
但您可能可以使用 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)
关于python - 使用 python 访问 selenium web 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121886/