网站为enter link description here
当你下来时你会找到一些POSTS,所以我想验证是否有什么"写在其中的是粗体或不使用Selenium,最好是Python!
我面临的问题是因为当我使用属性
时,整个文本不是BOLDelement1= driver.find_element_by_xpath(".//*[@id='post-2662']/div/p")
a=element1.value_of_css_property('font-weight')
它给了我400,但是,我只想找到" Anything"是粗体,如果" Anything"以粗体显示然后我们也可以单独搜索它,因为它在标签内但是如果"任何"不是粗体,然后不能单独搜索。
完整的方案是这样的:
*鉴于用户已登录
当他们添加博客时 标题:“这是test_user的博客” 内容“测试用户喜欢博客。博客的内容可以是任何。“
然后查看博客应该以粗体显示“任何东西”*
答案 0 :(得分:0)
我没有得到您的逻辑,但您只需检查段落是否包含粗体"Anything"
,如下所示:
element1= driver.find_element_by_xpath(".//*[@id='post-2662']/div/p")
try:
element1.find_element_by_xpath(".//b[.='anything']")
except:
print("No bold 'Anything' found")
答案 1 :(得分:0)
你的xpath将是这样的
"//article[1]/div/p[contains(b/text(), 'anything')]"
答案 2 :(得分:0)
我会采取一些不同的方法。当我接近这样的问题时,我会尝试考虑一般(可重用)解决方案。在这种情况下(根据我从您的问题和评论中收集到的内容),您希望了解某个博文中某些文字是否为粗体。使用XPath,您可以指定要检查的博客文章,拉出B
(粗体)内的文本,并将其与您期望的内容进行比较。 XPath看起来像
//article[1]//p/b
其中1是您要搜索的博客文章的索引。这将在博客文章#1的文本中找到B
标记(如果存在)。所以,考虑到这个XPath ......我们将要确定这个元素是否存在(该帖子中的任何内容都是粗体),如果是,那么从中获取文本并将其与"任何"进行比较。我会将这一切包装在一个函数中以使其可重用
def is_text_bold_in_post(post_index, search_string):
for bold in driver.find_elements_by_xpath("//article[" + post_index + "]//p/b")
if search_string in bold.text
# search string found
return true
# not found
return false