【问题标题】:Changing a list of element from Selenium in Python在 Python 中从 Selenium 更改元素列表
【发布时间】:2018-12-03 16:11:29
【问题描述】:

我正在编写一个脚本,它会在每次运行时检索一封新电子邮件并将其放在我的剪贴板上。

我正在抓取的网站在 javascript 应用程序上运行。我注意到网站末尾有一个 iframe,但 js 应用程序不在其中。 但我无法检索该属性。

AttributeError: 'list' object has no attribute 'get_attribute'
[Finished in 5.8s with exit code 1]

在 Python 3.6 中

from bs4 import BeautifulSoup
import requests
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

driver = webdriver.Chrome('/Users/user/Documents/docs/chromedriver')

url = driver.get('https://getnada.com')
element = driver.find_elements(By.CSS_SELECTOR, 'span.address.what_to_copy')

print(element)

【问题讨论】:

    标签: javascript python python-3.x selenium selenium-webdriver


    【解决方案1】:

    您正在将 element 设置为元素列表:

     //driver.find_elements returns a list
    element = driver.find_elements(By.CSS_SELECTOR, 'span.address.what_to_copy')
    

    您需要为列表编制索引以获取正确的元素:

    element[0].getAttribute()
    

    或者您需要使用.find_element 仅选择一个

    【讨论】:

    • 我犯了一个愚蠢的错误,谢谢你的帮助 Ryan
    • @mexitaw 随时。我很高兴能提供帮助
    猜你喜欢
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多