我现在一直在使用 selenium,并且在过去的几个小时里一直被困在这个问题上。这看起来很简单,但我似乎无法找出正确的执行方式。我基本上是在尝试根据用户的输入选择鞋码。以下是我尝试整理的一些按钮以及周围的 HTML。
<p class="checkbox-size">
<input type="radio" value="500" id="super_attribute[150]_500" name="super_attribute[150]" class="product_attribute">
<label for="super_attribute[150]_500">
<span id="label_eu0" class="label_hidden"> 38.5</span>
<span id="label_us0" class="label_show"> 6</span>
<span id="label_uk0" class="label_hidden"> 5.5</span>
<span id="label_cm0" class="label_hidden"> 24</span>
</label>
</p>
我试图按下的特定按钮是这个:
<label for="super_attribute[150]_137">
<span id="label_eu10" class="label_hidden"> 45</span>
<span id="label_us10" class="label_show"> 11</span>
<span id="label_uk10" class="label_hidden"> 10</span>
<span id="label_cm10" class="label_hidden"> 29</span>
</label>
现在我尝试了许多不同的搜索方法,然后单击其中一个按钮,但没有任何效果。有什么建议么?这是我目前用于尝试查找并单击按钮的方法:
driver.find_element_by_css_selector("input[type='radio'][value='11']").click()
回想起来,我可能没有为按钮提供正确的代码,所以这里是检查元素的快照以及实际页面,如果您想亲自检查一下。我正在尝试单击大小按钮。按钮检查元素
解决了!这是我最终使用的代码。
sizes = driver.find_elements_by_class_name('checkbox-size')
for size in sizes:
if size.text in [usersize]:
size.click()
print colored('Carted size %s'%(size.text), 'green')
break
continue
好的,这就是我最终使用的解决问题的方法。我用这个类制作了一个包含所有网络元素的列表,'checkbox-size'
然后遍历该列表以找到正确的大小,然后单击该元素。这是代码:
sizes = driver.find_elements_by_class_name('checkbox-size')
for size in sizes:
if size.text in [usersize]:
size.click()
print colored('Carted size %s'%(size.text), 'green')
break
continue
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句