基于alt属性的python selenium单击

时间:2018-10-18 11:56:21

标签: python selenium browser bots

我正在尝试制作一个将商品添加到您的购物篮并进行结帐的机器人。我在Python 3.6.5中使用Selenium单击该项目时遇到问题。我希望能够基于img标签的alt属性单击一个项目,因此请点击“ Dek946uiqbq”。

<img src="//assets.supremenewyork.com/157783/vi/dek946uiQBQ.jpg" alt="Dek946uiqbq" width="81" height="81">

到目前为止,我已经做到了,但是没有用:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('https://www.supremenewyork.com/shop/all')
linkElem = browser.find_element_by_link_text('Dek946uiqbq')
linkElem.click()

我使用的方法错误吗?

1 个答案:

答案 0 :(得分:1)

Dek946uiqbq不是文本,find_element_by_link_text无法检测到。文本在html中看起来像这样

<img src="..." alt="...">This is text</img>

要按属性查找元素,可以使用css_selector

linkElem = browser.find_element_by_css_selector('[alt="Dek946uiqbq"]')

xpath

linkElem = browser.find_element_by_xpath('//img[@alt="Dek946uiqbq"]')