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)
browser.find_element_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddressPanel"]//a')).get_attribute("textContent")
没有数据。
我写了一个条件,如果我们在提供的xpath中没有数据,则应将其替换为“ no data”。
如果存在数据,我们需要存储电子邮件地址,否则我们需要存储默认值(即“无数据”)
这是我每次都会收到的错误。
selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // div [@ id =” MainCopy_ctl13_presentJob_EmailAddressPanel“] // a”}(会话信息:chrome = 88.0.4324.150)
您可以在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'
来源:
如果当browser.find_element_by_xpath没有数据或无法找到元素时条件不起作用-python黑洞网