我正在尝试制作一个将商品添加到您的购物篮并进行结帐的机器人。我在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()
我使用的方法错误吗?
答案 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"]')