使用python操作第三方网站的html源代码

2024-06-06 13:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

当我检查一个网站的元素(googlealerts:https://www.google.com/alerts)时,我输入一个名称,然后按“more options”。当我检查此页面元素中的某个按钮(如“How frequency”)时,我注意到在HTML源代码中:

<div class="goog-inline-block goog-flat-menu-button-caption" id=":3" role="option" aria-setsize="3" aria-posinset="2">At most once a day</div>

如果我手动将“每天最多一次”编辑为另一个选项的确切文本(通过我的检查器)(例如,我键入“最多一周一次”),它实际上会在网站上创建更改。因此,我很好奇python中是否有一种方法(可能通过selenium或beautiful soup)来编辑第三方网站的html代码来创建这些类型的更改?如果没有,我正在努力寻找一种方法来使用selenium来更改这个下拉按钮选择,我将非常感谢您的任何见解。在

谢谢!在


Tags: 方法httpsdivcom元素编辑网站www
2条回答

你可以编辑页面的HTML,但那不是你想要做的。实际上,您将更改选择的标签,但不更改行为。想想看,就像把男厕的牌子改成“女厕”一样,它并没有把那个浴室改成女厕,只会让走在里面的女人很困惑。。。:)

你要做的是在页面上选择一个特定的选项。要使场景工作,您需要执行用户在脚本中执行的操作。要更改这个下拉列表(它不是真正的SELECT下拉列表,它只是看起来和行为类似),您需要单击它,然后单击所需的元素。这两次点击的元素都有id,因此您应该能够轻松地单击它们。在

有Google alerts API Python客户端-^{}。从4岁开始就不知道还能不能用。在

或者,您可以使用浏览器自动化方法,并通过使用selenium控制浏览器来进行更改。对于这个特定的下拉列表,找到它并单击具有At most once a week文本的元素:

dropdown = driver.find_element_by_css_selector("div.frequency_select")
dropdown.click()

once_a_week = driver.find_element_by_xpath("//*[. = 'At most once a week']")
once_a_week.click()

相关问题 更多 >