【发布时间】:2021-11-13 23:26:42
【问题描述】:
我再次发现自己在定位器上苦苦挣扎,或者说正确的方法将其放入正确的语法和代码中。
这是我试图执行的代码:
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 中有些“隐藏”?
希望能得到一些提示或帮助,非常感谢,
本杰明
【问题讨论】:
-
我猜这个元素还在我们昨天讨论的网站/页面上?如果是这样 - 这个元素在哪里?
标签: python html selenium selenium-webdriver input