Python 3如果Xpath元素为空,如何打印值

时间:2017-07-21 10:35:18

标签: python xpath printing

我的代码正在打印页面上的xpath元素。有多个。

我的问题是如何在没有返回xpath元素的情况下打印一些东西我将加载20页,其中18页将有此元素,另外2页将不会

library(tidyverse)

df <-data.frame(x = sample(1:100, 50), 
                y = rnorm(50), 
                z = sample(1:100,50), 
                w = sample(1:100, 50),
                p = sample(1:100,50))

new <- function(ang, brad, drau){
  ang  <- enquo(ang)
  brad <- enquo(brad)
  drau <- enquo(drau)

  df %>% filter(UQ(drau) %in% 1:50) %>%
    select(UQ(ang),UQ(brad)) 
}

brand <- c("z","w","p")
brand <- rlang::syms(brand)

map_df(brand, ~new(ang = x, brad = y, drau = UQ(.x)))

任何帮助表示赞赏

由于

2 个答案:

答案 0 :(得分:0)

您可以使用占位符字符(例如'-'),如下所示:

print(str(elem.get_attribute('innerText')).strip() or '-',end=""',', file=sys.stdout)

答案 1 :(得分:0)

如果您想避免打印空字符串,可以尝试:

amount = browser.find_elements_by_xpath('.//*[@id[starts-with(.,"id")]]/div[1]/header/p/strong')
for elem in amount:
    text_content = elem.get_attribute('innerText')
    if text_content:
        print(text_content, end=',', file=sys.stdout)
    else:
        print("No content found")

如果amount可以是空列表,那么您可以尝试:

amount = browser.find_elements_by_xpath('.//*[@id[starts-with(.,"id")]]/div[1]/header/p/strong')
if amount:
    for elem in amount:
        print(elem.get_attribute('innerText'), end=',', file=sys.stdout)
else:
    print("No elements found")