如何使用python& amp;硒

时间:2017-06-20 14:59:06

标签: python selenium

我希望点击下面屏幕截图中突出显示的按钮;已尝试过pyautogui,但发现结果不一致,所以尝试使用selenium。

我无法识别按钮然后调用点击功能。

Here's the HTML 或者也许我可以运行“点击”。功能,不确定如何处理。如果我这样做,我需要通过这个HTML(我对HTML的理解很少)来管理索引'

谢谢

3 个答案:

答案 0 :(得分:2)

您可以让浏览器为您找出按钮CSS选择器。

以下是如何在Chrome中执行此操作:

  • 在Chrome中打开您的页面
  • 右键单击按钮,然后从上下文菜单中选择检查元素
  • 将打开Inspector窗口,并选中按钮的HTML标记。
  • 右键点击选定的HTML行,然后选择复制 - > CSS选择器
  • 将CSS选择器粘贴到下面的代码中

以下是点击按钮的代码:

from selenium import webdriver

browser = webdriver.Chrome('/path/to/chromedriver')
browser.get('your/website/url')
button = browser.find_element_by_css_selector('paste the CSS selector here')
button.click()

希望这有帮助。

PS:使用BeautifulSoap和Selenuim,这是一个非常出色的article(来自使用Python 书自动化无聊内容的一章)关于网页抓取和浏览器自动化。

答案 1 :(得分:0)

尝试xpath:  //div[@id='channel']//div[@class='channel-list']/div/div/div[@class='ch-btn play']

//div[@id='channel']//div[@class='channel-list']//div[@class='ch-btn play']

如果这回答你的问题,请告诉我。

答案 2 :(得分:0)

您可能希望使用CSS选择器,因为它们在硒中优先于Xpath。关于html和selenium的一些重要说明:

  • Html是一种静态语言。没有办法打电话"或"运行"其中的东西。这需要使用不同的语言,如JavaScript。
  • Selenium模仿真实的用户,所以selenium不直接"调用"什么,它与页面进行交互,页面响应。

python代码:

driver = webdriver.Chrome('path/to/chromedriver')
driver.get('your/site/here')
# This is a css selector for the div that you want to click on.
css_selector = "div[ng-click='play($index)']"
# This finds the object that is located at css_selector
button_element = driver.find_element_by_css_selector(css_selector)
# Sends a mouse click to the button_element
button_element.click()