再一次,我发现自己在努力使用定位器,或者说,用正确的方式将其转换为正确的语法和代码
以下是我试图执行的代码:
wait.until(EC.presence_of_element_located((By.XPATH, "//div[@class='col-xs-6']//input[@class='js-order-amount trading-amount trading-price-field textbox pull-left' and(contains(@data-original-title,'Wie viele Stück möchten Sie kaufen?'))]"))).send_keys('33')
下面是网站上相应的HTML:
<div class="col-xs-6">
<input class="js-order-amount trading-amount trading-price-field textbox pull-left" type="text" maxlength="9" required="required" placeholder="Menge" value="1" data-toggle="tooltip" data-html="true" data-trigger="manual" data-container="body" data-placement="right" title="" data-original-title="Wie viele Stück möchten Sie kaufen?">
</div>
我得到的错误如下:
TimeoutException Traceback (most recent call last)
<ipython-input-24-9c18d6a21146> in <module>
50 # wait.until(EC.presence_of_element_located((By.XPATH, "//div[@data-original-title,'Wie viele Stück möchten Sie kaufen?'))]"))).click()
51
---> 52 wait.until(EC.presence_of_element_located((By.XPATH, "//div[@class='col-xs-6']//input[@class='js-order-amount trading-amount trading-price-field textbox pull-left' and contains('Wie viele Stück möchten Sie kaufen?')]"))).send_keys('33')
53
54
~\anaconda3\lib\site-packages\selenium\webdriver\support\wait.py in until(self, method, message)
78 if time.time() > end_time:
79 break
---> 80 raise TimeoutException(message, screen, stacktrace)
81
82 def until_not(self, method, message=''):
TimeoutException: Message:
我想,尤其是
@data-original-title,'Wie viele Stück möchten Sie kaufen?'
此文本/输入字段的唯一性。但是我如何使用它作为有效的定位器呢
或者输入字段在其他div中有些“隐藏”
非常感谢您的提示或帮助,非常感谢
本杰明
您可以使用以下xpath与
@data-original-title,'Wie viele Stück möchten Sie kaufen?'
PS:请在
dev tools
(谷歌浏览器)中检查HTML DOM
中是否有唯一的条目检查步骤:
Press F12 in Chrome
->;转到element
部分->;做一个CTRL + F
->;然后粘贴xpath
并查看所需的element
是否通过1/1
匹配节点突出显示更新1:
根据OP报告的新错误,可通过以下方法解决
使用操作链:
使用JS:
导入:
相关问题 更多 >
编程相关推荐