【发布时间】:2021-07-05 09:09:55
【问题描述】:
我在一个零售商网站上找不到 CVV 输入字段。 这是我尝试过的。
searchXml = '//*[@id="payment-preferences"]/div[1]/fieldset/div[1]/div[2]/div[2]/input'
purchase = driver.find_element_by_xpath(searchXml)
这是来自 xpath 搜索的错误消息。我还添加了几个 time.sleep() 来减慢脚本的速度。
Traceback (most recent call last):
File "Selenium_test.py", line 106, in <module>
purchase = driver.find_element_by_xpath(searchXml)
File "/Users/claybogusky/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "/Users/claybogusky/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "/Users/claybogusky/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/Users/claybogusky/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="payment-preferences"]/div[1]/fieldset/div[1]/div[2]/div[2]/input"}
(Session info: chrome=89.0.4389.114)
谢谢!!
来自页面的 DOM 它显示一个 iFrame。
【问题讨论】:
-
为您的问题添加了代码标签。以后请自己做。
-
回溯显示您的变量
purchase中有一个Web 元素实例,因此您的purchase = driver.find...之一返回了匹配项。回溯还显示错误在purchase.find_element_by_name('cvv')中,而不是在purchase = driver.find...调用中。 -
您需要发布更多的 HTML。
input元素没有子元素,那么您为什么要尝试使用purchase.find_element_by_name('cvv')来查找带有name="cvv"的purchase元素的后代? -
是的,我处理了扭曲的输出。
-
“我处理了扭曲的输出。” -- 然后编辑您的问题并发布正确的文本。
标签: python selenium safari credit-card