0
            if not(browser.find_element_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a')):
                email = 'No data'
            else:
                email = browser.find_element_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a').get_attribute("textContent")
            print(email)
  1. browser.find_element_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a')).get_attribute("textContent")没有数据。

  2. 如果我们在提供的 xpath 中没有数据,我写了一个条件,它应该替换为“无数据”。

  3. 如果存在数据,我们需要存储电子邮件地址,否则我们需要存储默认值(即)“无数据”

  4. 这是我每次都收到的错误。

selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":"//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a"} (会话信息:chrome=88.0.4324.150)

4

1 回答 1

0

您可以在 try/except 子句中运行它。

try:
    email = browser.find_element_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a').get_attribute("textContent")
except:
    email = 'No data'

您也可以使用find_elements,如果未找到该元素,它将返回一个空列表。然后,您可以使用 if 语句测试列表是否为空。

if browser.find_elements_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]'):
    email = browser.find_element_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a').get_attribute("textContent")
else:
    email = 'No data'
于 2021-02-09T05:38:16.687 回答