我如何使用Selenium lib单击文本下方的按钮。在Python中

问题描述 投票:0回答:1

我想构建一个喜欢网页中评论的漫游器。评论下方有一个喜欢和不喜欢的按钮。

评论的xPath://*[@id="commentText-40538697"]/span

类似按钮的xPath:

//*[@id="commentText-40538697"]/div[2]/div[1]/label[1]

您可以看到我是否获得评论ID(在上面的示例中为40538697),我可以轻松地单击该按钮。按钮,每个评论的ID都在变化。所以我用下面的代码得到元素

xpath = driver.find_element_by_xpath("//*[contains(text(), 'COMMENT')]")

-也是元素的属性。

xpath.get_property出[113]:>

有什么方法可以获取网页中特定文本的div id?

python html selenium xpath web-scraping
1个回答
1
投票

您可以尝试在xpath下面提取基于关键字的注释。您也可以使用以下同级项检查show more的存在并单击它

YourText="Fikrini empoze"

//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,'"+YourText+"')]

显示更多文本

//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,'Fikrini empoze')]//following-sibling::span[@class='showMoreText']

like按钮:

//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,' Fikrini empoze')]//following-sibling::label[@class='like']

不喜欢

//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,' Fikrini empoze')]//following-sibling::label[@class='dislike']
© www.soinside.com 2019 - 2024. All rights reserved.