使用 Python 发送在 Selenium 中不起作用的密钥?
Send Keys Not Working In Selenium With Python?
我正在尝试将密钥发送到某个元素,但它不起作用。
Element looks like this. Unable to send keys to all three.
代码如下:
input id="creditCardNumber" name="creditCardNumber" type="tel"
tabindex="1" data-shortname="cc" maxlength="24" class="cc-input
ncss-input pt2-sm prl4-sm prl5-md pb2-sm" placeholder="Number"
onautocomplete="off" value=""
我用这个来发送密钥:
driver.find_element_by_xpath('//*[@id="creditCardNumber"]').send_keys('0000')
driver.find_element_by_xpath('//input[@placeholder="Number"]').send_keys('0000')
给我一个错误,好像元素不可用,尽管我使用了足够长的 time.sleep
.
收到错误:
driver.find_element_by_xpath('//input[@placeholder="Number"]').send_keys('0000')
File
"/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py",
line 293, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath) File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py",
line 752, in find_element
'value': value})['value'] File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py",
line 236, in execute
self.error_handler.check_response(response) File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/errorhandler.py",
line 192, in check_response
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such
element: Unable to locate element:
{"method":"xpath","selector":"//input[@placeholder="Number"]"}
(Session info: chrome=64.0.3282.140) (Driver info:
chromedriver=2.35.528157
(4429ca2590d6988c0745c24c8858745aaaec01ef),platform=Mac OS X 10.12.2
x86_64)
我注册了 nike 以查找 creditCardNumber 字段,它在 iframe 标签下。切换到那个 iframe,然后搜索元素
<iframe sandbox="allow-scripts allow-same-origin" class="credit-card-iframe mt1 u-full-width" src="https://paymentcc.nike.com/services?id=0971b459-934f-4c0e-bdd1-6b5808a77eb1" frameborder="0" scrolling="no"></iframe>
代码:
driver.switch_to.frame(driver.find_element_by_css_selector('iframe[class="credit-card-iframe mt1 u-full-width"]'))
driver.find_element_by_id('creditCardNumber').send_keys('0000')
让我知道这是否有效
我正在尝试将密钥发送到某个元素,但它不起作用。
Element looks like this. Unable to send keys to all three.
代码如下:
input id="creditCardNumber" name="creditCardNumber" type="tel" tabindex="1" data-shortname="cc" maxlength="24" class="cc-input ncss-input pt2-sm prl4-sm prl5-md pb2-sm" placeholder="Number" onautocomplete="off" value=""
我用这个来发送密钥:
driver.find_element_by_xpath('//*[@id="creditCardNumber"]').send_keys('0000')
driver.find_element_by_xpath('//input[@placeholder="Number"]').send_keys('0000')
给我一个错误,好像元素不可用,尽管我使用了足够长的 time.sleep
.
收到错误:
driver.find_element_by_xpath('//input[@placeholder="Number"]').send_keys('0000') File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 293, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 752, in find_element 'value': value})['value'] File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute self.error_handler.check_response(response) File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@placeholder="Number"]"}
(Session info: chrome=64.0.3282.140) (Driver info: chromedriver=2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef),platform=Mac OS X 10.12.2 x86_64)
我注册了 nike 以查找 creditCardNumber 字段,它在 iframe 标签下。切换到那个 iframe,然后搜索元素
<iframe sandbox="allow-scripts allow-same-origin" class="credit-card-iframe mt1 u-full-width" src="https://paymentcc.nike.com/services?id=0971b459-934f-4c0e-bdd1-6b5808a77eb1" frameborder="0" scrolling="no"></iframe>
代码:
driver.switch_to.frame(driver.find_element_by_css_selector('iframe[class="credit-card-iframe mt1 u-full-width"]'))
driver.find_element_by_id('creditCardNumber').send_keys('0000')
让我知道这是否有效