2016-07-11 24 views
0

我正在建立一個Python程序,與在線商店交互。到目前爲止,我可以找到所需的項目,並使用BeautifulSoup導航到頁面,但我遇到問題時單擊「添加到購物車」按鈕。我在網上發現的大多數解決方案都使用robobrowser和類似的工具,除了他們正在處理具有方法屬性的標籤之外。網站提交按鈕和蟒蛇,沒有行動屬性

<input class="button" name="commit" type="submit" value="add to cart"> 

我怎麼會去「點擊」按鈕:我處理這個樣子的網站上的呢?我需要什麼庫。我正在使用python 3,所以我不能使用機械化。先謝謝您的幫助。

+0

你需要分享這個url,服務器可以處理它的方式有很多種 –

回答

0

你可以考慮在Python中使用Selenium。

請使用下面的代碼片段作爲參考:

from selenium import webdriver 

driver = webdriver.Firefox() 
driver.get("url") 
button = driver.find_element_by_css_selector("input[class='button']") 
button.click() 

在你得到多個匹配的情況下,你可以通過包括多個屬性縮小範圍:

button = driver.find_element_by_css_selector("input[class='button'][name='commit']") 

請參考此鏈接有關Python Selenium的更多示例。 http://selenium-python.readthedocs.io/locating-elements.html

+1

在Python中不需要';',缺少'driver.get(「url」)'和選擇器可以簡化:'' input.button'和'input.button [name = commit]'分別。 – alecxe

+0

用戶是否必須安裝firefox才能正常工作 –

+0

因爲我可能會將其分發給可能沒有它的人。 –