如何使用 BeautifulSoup 和 Selenium 实现 if 语句

并非所有 eBay 列表都相同,因为某些页面使用的格式与其他页面不同。我希望我的代码找到“price”元素,如果它不存在,请尝试不同的方法。我创建了下面的代码,但我想知道什么是更好的方法?

    item = driver.find_element_by_xpath('//*[@id="prcIsum"]').text.strip().split()
    if len(item.text) > 0:
        price = item.text
    item = driver.find_element_by_xpath('//*[@id="mm-saleDscPrc"]')
    if len(item.text) > 0:
        price = item.text
    else:
        price = ""

完整代码

简单

随着Selenium如果元素不存在,它会产生错误,所以你将不得不使用的try /除外

import selenium.webdriver

url = 'https://toscrape.com/'
url = 'http://books.toscrape.com/'

driver = selenium.webdriver.Firefox()
driver.get(url)

try:
    item = driver.find_element_by_xpath('//tag').text.strip()
except Exception as ex:
    print(ex)
    try:
         item = driver.find_element_by_xpath('//a').text.strip()
    except Exception as ex:
         print(ex)
         item = ''

print(item)    

有了BeautifulSoup你可以得到None(或空列表),所以你必须在收到文本之前检查它。

import selenium.webdriver

url = 'https://toscrape.com/'
url = 'http://books.toscrape.com/'

driver = selenium.webdriver.Firefox()
driver.get(url)

from bs4 import BeautifulSoup as BS

soup = BS(driver.page_source, 'html.parser')


item = soup.find('tag')
if item:
    item = item.get_text(strip=True)
else:
    item = soup.find('a')
    if item:
        item = item.get_text(strip=True)
    else:
        item = ''

print(item)

或者你可以尝试在里面获取文本 ttry/except

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Selenium和BeautifulSoup进行循环

Selenium和Python使用If语句

如何使用if和else语句实现Age Classifier程序

使用Selenium和BeautifulSoup搜寻网站

使用Selenium和BeautifulSoup的慢代码

使用Selenium和BeautifulSoup提取iFrame内容

使用BeautifulSoup和Selenium解析HTML内容

使用 Selenium 和 Beautifulsoup 解析 JavaScript 输出

无法使用 Selenium 和 BeautifulSoup 抓取文本

使用 BeautifulSoup 和 Selenium 抓取数据

如何在python中使用Selenium和Beautifulsoup解析网站?

如何在python中使用Selenium和Beautifulsoup解析网站?

如何使用 Selenium 和 BeautifulSoup 从标签中获取文本

使用BeautifulSoup和If语句与xml文件进行交互

如何实现循环语句

使用未知实现的语句?

如何用beautifulsoup和selenium得到这个数字?

使用python beautifulsoup和selenium下载文件

使用Selenium和BeautifulSoup输入内容来抓取网站?

使用 Selenium 和 BeautifulSoup 抓取饥饿游戏的用户评分

使用BeautifulSoup和Selenium抓取特定的html标签

使用 Python、Selenium 和 BeautifulSoup 来抓取标签的内容?

使用 Selenium 和 BeautifulSoup 进行 Zillow 网页抓取

使用 Selenium 和 BeautifulSoup 进行网页抓取返回空列表

用 Selenium 和 BeautifulSoup 刮痧

使用 selenium 和 python 实现网站自动化

如何使用Python,Selenium和BeautifulSoup将html保存到文本文件

如何清除使用Beautifulsoup和Selenium依次选择下拉菜单时动态生成的数据?

如何使用Python Selenium和BeautifulSoup从网络上刮掉所有<li>文本?