提问者:小点点

使用Python发送不在Selenium中工作的密钥?


我正在尝试向元素发送键,但它不起作用。

元素看起来像这样。无法将密钥发送到所有三个。

代码如下:

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)


共1个答案

匿名用户

我注册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')

让我知道这是否有效