Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Selenium Python打印电子邮件地址_Python_Selenium Webdriver_Xpath_Css Selectors_Webdriverwait - Fatal编程技术网

如何使用Selenium Python打印电子邮件地址

如何使用Selenium Python打印电子邮件地址,python,selenium-webdriver,xpath,css-selectors,webdriverwait,Python,Selenium Webdriver,Xpath,Css Selectors,Webdriverwait,但是我没有得到结果。元素已经存在了吗?或者可能是在Selenium加载元素之前执行的代码 考虑使用等待: email = browser.find_elements_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddress"]//a').text print(email) a标签内的电子邮件是a标签的href,所以只需执行以下操作: 使用硒: 使用Beautifulsoup: 从bs4导入美化组 content=

但是我没有得到结果。

元素已经存在了吗?或者可能是在Selenium加载元素之前执行的代码

考虑使用等待:

email = browser.find_elements_by_xpath('//div[@id="MainCopy_ctl13_presentJob_EmailAddress"]//a').text
print(email)

a标签内的电子邮件是a标签的href,所以只需执行以下操作:

使用硒: 使用Beautifulsoup:
从bs4导入美化组
content=”“”
a id=“MainCopy\u ctl13\u presentJob\u EmailAddress”href=“mailto:dburse@bjcta.org">xyzmmm@tccp.org
"""
汤=美汤(内容)
a\u tag=soup.find(id='MainCopy\u ctl13\u presentJob\u EmailAddress')
mail_link=a_tag.attrs['href']
mail_addrs=mail_link.split(':')[1]
打印(邮件地址)

文本仅打印可见文本对不在显示端口中的文本使用textContent属性:

from bs4 import BeautifulSoup
    
content=""" 
<div id="MainCopy_ctl13_presentJob_EmailAddressPanel">
    a id="MainCopy_ctl13_presentJob_EmailAddress" href="mailto:dburse@bjcta.org">xyzmmm@tccp.org</a>
</div>"""
soup = BeautifulSoup(content)
a_tag = soup.find(id='MainCopy_ctl13_presentJob_EmailAddress')
mail_link = a_tag.attrs['href']
mail_addrs = mail_link.split(':')[1]
print(mail_addrs)

您使用的
id
属性,即
MainCopy\u ctl13\u presentJob\u EmailAddress
属于

  • 使用
    css\u选择器
    get\u属性()

  • 使用
    xpath
    和文本属性:

    print(driver.find_element(By.CSS_SELECTOR, "a#MainCopy_ctl13_presentJob_EmailAddress").get_attribute("innerHTML"))
    
    print(driver.find_element(By.XPATH, "//a[@id='MainCopy_ctl13_presentJob_EmailAddress']").text)
    

理想情况下,您需要诱导,并且您可以使用以下任一方法:

  • 使用
    CSS\u选择器
    和文本属性:

    print(driver.find_element(By.CSS_SELECTOR, "a#MainCopy_ctl13_presentJob_EmailAddress").get_attribute("innerHTML"))
    
    print(driver.find_element(By.XPATH, "//a[@id='MainCopy_ctl13_presentJob_EmailAddress']").text)
    
  • 使用
    XPATH
    get\u attribute()

  • 注意:您必须添加以下导入:

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@id='MainCopy_ctl13_presentJob_EmailAddress']"))).get_attribute("innerHTML"))
    

元素存在,只是我们需要打印。我使用chome web驱动程序存储内容,可以使用xpath或按id获取元素。我使用xpath获取详细信息,所以您想查找电子邮件,但使用xpath而不是id?我使用浏览器。按id查找元素('MainCopy\u ctl13\u presentJob\u EmailAddress'))我们不需要使用内容变量我编辑了这篇文章,试试itAttributeError:'list'对象没有属性'get_attribute'@vamsi只要将其更改为element更新了代码,为什么要使用elementsemail=browser。通过xpath('//div[@id=“MainCopy_ctl13_presentJob_EmailAddress”]//a')查找元素。获取属性('textContent')添加了相同的内容,显示错误此时间浏览器出现什么错误。按xpath查找元素为什么使用元素使用浏览器。按xpath查找元素如何返回空结果例如:如果xpath没有数据,则无数据
print(driver.find_element(By.XPATH, "//a[@id='MainCopy_ctl13_presentJob_EmailAddress']").text)
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a#MainCopy_ctl13_presentJob_EmailAddress"))).text)
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@id='MainCopy_ctl13_presentJob_EmailAddress']"))).get_attribute("innerHTML"))
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC