属性在 selenium Python 中引发 NoSuchElementException
Attribute raises NoSuchElementException in selenium Python
我可以获取属性包含 X
的元素,但我无法获取属性本身。为什么?
此代码不会引发任何错误:
links = browser.find_elements_by_xpath('//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]')
此代码引发 NoSuchElementException
错误:
links = browser.find_elements_by_xpath('//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]/@data-href')
此代码是从聊天的 Messenger 主页中提取的。我想获得 ul
列表中的所有链接...
我不明白...请帮忙?
wait = WebDriverWait(driver, 20)
lists=wait.until(EC.presence_of_all_elements_located((By.XPATH, '//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]/@data-href')))
for element in lists:
print element.text
注意:将以下导入添加到您的解决方案
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
要获取所有链接 data-href 值,您需要遍历链接元素并使用 get_attribute()
links = browser.find_elements_by_xpath('//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]')
ul_list=[link.get_attribute("data-href") for link in links]
print(ul_list)
我可以获取属性包含 X
的元素,但我无法获取属性本身。为什么?
此代码不会引发任何错误:
links = browser.find_elements_by_xpath('//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]')
此代码引发 NoSuchElementException
错误:
links = browser.find_elements_by_xpath('//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]/@data-href')
此代码是从聊天的 Messenger 主页中提取的。我想获得 ul
列表中的所有链接...
我不明白...请帮忙?
wait = WebDriverWait(driver, 20)
lists=wait.until(EC.presence_of_all_elements_located((By.XPATH, '//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]/@data-href')))
for element in lists:
print element.text
注意:将以下导入添加到您的解决方案
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
要获取所有链接 data-href 值,您需要遍历链接元素并使用 get_attribute()
links = browser.find_elements_by_xpath('//div[@aria-label="Conversations"]//a[contains(@data-href, "https://www.messenger.com/t/")]')
ul_list=[link.get_attribute("data-href") for link in links]
print(ul_list)