python单击网页上的按钮

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

我目前有一个脚本可以将我登录到一个网站,我想让它点击网站上的一个按钮,如果它当前没有被点击。这是按钮的信息:

当按钮已处于活动状态时:

<p class="toast_btn">
    <a class="button grey toast track-click active" data-user-avatar="https://dwebsite.net/picture.jpg" data-checkin-id="123456789" data-href=":feed/toast" data-track="activity_feed" href="#">

当按钮未激活时:

<p class="toast_btn">
    <a class="button grey toast track-click" data-user-avatar="https://dwebsite.net/picture.jpg" data-checkin-id="123456789" data-href=":feed/toast" data-track="activity_feed" href="#">

我只想在class="button grey toast track-click"点击它

做这个的最好方式是什么?我目前使用urllib2和mechanize登录并检查一些表格。谢谢!

python html web-scraping
1个回答
12
投票

当我比较两个标签时,我发现不同之处在于类标签。所以,如果你能阅读它,那么你就完成了

如果你愿意,你可以用Selenium来做

第1步:找到XPath - 获取按钮的XPath:为此,在Chrome中打开页面,单击它并选择Inspect element - 它将打开html文件并右键单击突出显示的行并选择复制Xpath - 复制NotePad中的XPath

现在您已拥有XPath,您可以通过Python脚本选择按钮并查询属性

这是一个原型

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.youradress.org")#put here the adress of your page
elem = driver.find_elements_by_xpath("//*[@type='submit']")#put here the content you have put in Notepad, ie the XPath
print(elem.get_attribute("class"))
driver.close()

希望有所帮助,如果您有疑问请告诉我

我用这些链接来提供文档

Python Selenium: Find object attributes using xpath

https://selenium-python.readthedocs.io/locating-elements.html

© www.soinside.com 2019 - 2024. All rights reserved.