我正在尝试向元素发送键,但它不起作用。
元素看起来像这样。无法将密钥发送到所有三个。
代码如下:
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”占位符=“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')
给我一个错误,好像元素不可用,尽管我使用了足够长的时间。睡眠
。
收到错误:
driver.find_element_by_xpath('//输入[@占位符="数字"]')。send_keys('0000')文件"/库/Python/2.7/site-包/selenium/webDrier/远程/webdriver.py",第293行,find_element_by_xpath返回self.find_element(by=By.XPATH,value=xpath)文件/库/Python/2.7/site-包/selenium/webDrier/远程/webdriver.py,第752行,find_element'value': value})['value']文件/库/Python/2.7/site-包/selenium/webDrier/远程/webdriver.py,第236行,在执行self.error_handler.check_response(响应)文件"/库/Python/2.7/site-包/selenium/webDrive/远程/errorhandler.py",第192行,check_response引发exception_class(消息,屏幕,stackTrace)selenium.common.exceptions.NoSuchElementExcema:消息:没有这样的元素:无法定位元素:{"方法":"xpath","选择器":"//输入[@占位符="数字"]"}
(会话信息: chrome=64.0.3282.140)(驱动信息: chromeDrive=2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef),平台=Mac OS X 10.12.2x86_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')
让我知道这是否有效