- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我看到很多关于 Selenium 的 ElementNotVisibleException 问题的问题/答案。到目前为止我完成的最好的代码如下:
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "http://www.cfnews.net/user/login"
driver.get(url)
print "Got url."
wait = WebDriverWait(driver, 10)
login_form = wait.until(EC.invisibility_of_element_located((By.ID, "user-login")), "pbm")
print "Element located."
displayed = login_form.is_displayed()
print "login_form.is_displayed() = ", displayed
login_form.send_keys("a")
给出以下输出:
Got url.
Element located.
login_form.is_displayed() = False
---------------------------------------------------------------------------
ElementNotVisibleException Traceback (most recent call last)
<ipython-input-110-d45e06b37320> in <module>()
12 displayed = login_form.is_displayed()
13 print "login_form.is_displayed() = ", displayed
---> 14 login_form.send_keys("a")
/Users/romain/anaconda/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.pyc in send_keys(self, *value)
345 value = self._upload(local_file)
346
--> 347 self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)})
348
349 # RenderedWebElement Items
/Users/romain/anaconda/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.pyc in _execute(self, command, params)
492 params = {}
493 params['id'] = self._id
--> 494 return self._parent.execute(command, params)
495
496 def find_element(self, by=By.ID, value=None):
/Users/romain/anaconda/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.pyc in execute(self, driver_command, params)
234 response = self.command_executor.execute(driver_command, params)
235 if response:
--> 236 self.error_handler.check_response(response)
237 response['value'] = self._unwrap_value(
238 response.get('value', None))
/Users/romain/anaconda/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.pyc in check_response(self, response)
190 elif exception_class == UnexpectedAlertPresentException and 'alert' in value:
191 raise exception_class(message, screen, stacktrace, value['alert'].get('text'))
--> 192 raise exception_class(message, screen, stacktrace)
193
194 def _value_or_default(self, obj, key, default):
ElementNotVisibleException: Message: element not visible
(Session info: chrome=54.0.2840.98)
(Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.12.0 x86_64)
因此,页面已下载,驱动程序已获取 html,但无法发送任何 key 。这里也有答案: Selenium Element not visible exception
建议使用ActionChain,但我试过没有成功:(
如果我这样做:
driver.page_source
我得到了 html :
u'<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/"><head>\n \n \n<title>Ouverture de session / Utilisateur - l\'actualit\xe9 du capital investissement : transactions LBO, M&A, Venture France - Corporate Finance et Private Equity</title>\n<meta name="description" content="CFNEWS est le premier site \xe0 proposer actualit\xe9s et r\xe9f\xe9rentiels du corporate finance en France sur les...etc...
最佳答案
试试这个,成功!!!
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
url = "http://www.cfnews.net/user/login"
driver.get(url)
wait = WebDriverWait(driver, 10)
login_form = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "input#nom-user")))
login_form.send_keys("a")
关于python - Selenium - ElementNotVisibleException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698760/
此页面的主菜单( linio )有 11 个链接。只对 9 感兴趣(那些具有灰色背景并且悬停时显示子菜单的)。 我想从 9 个选项中单击子菜单中的每个元素。期望的过程是: 1.-第一部分:“Celul
我正在使用 Java selenium 自动输入用户的数据,但他必须通过下拉列表选择状态。我收到异常错误。 我尝试过使用所有选择器: drpState.selectByIndex(5); drpSta
我已经查看了涉及该主题的一些其他问题,但我没有在任何地方看到这个特定问题。我有一个点击 Web 元素的测试。我尝试通过 ID 和 XPath 引用它,并使用 wait.until() 等待它变得可见。
我正在尝试扩展所有评论、回复,在评论中查看更多内容,并在 Facebook 的帖子中查看更多内容。 1)我在下面编写的代码允许我扩展我想要的所有内容,除了帖子中的一些回复,即使我已将回复按钮放在循环中
我使用 EBays 的高级上传工具(URL:http://cgi5.ebay.com/ws/eBayISAPI.dll?NewListing&cpg=20&aid=1&from=wn&sid=5297
我看到很多关于 Selenium 的 ElementNotVisibleException 问题的问题/答案。到目前为止我完成的最好的代码如下: from selenium.webdriver.sup
我正在尝试使用 webdriver 单击链接,但它向我抛出一个 ElementNotVisibleException 说“元素当前不可见,因此可能无法与之交互” 我的网络驱动程序代码: addProg
import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import o
我正在使用 Selenium 和 Python,并且我正在尝试填写登录表单,我已经成功填写用户名字段,但无法填写密码。这是 HTML:
当我试图点击一个按钮时出现以下错误: org.openqa.selenium.ElementNotVisibleException: Element is not currently visible
我正在使用 Selenium Webdriver 登录网站。我尝试了多种不同的选择器,并尝试了隐式等待,但无法找到该元素。 from selenium import webdriver
我目前正在尝试使用 Selenium 进行一些用户界面测试,我遇到了这个很好的方法(不确定我从哪里得到它......),它应该处理不存在的元素和隐藏元素...... 问题在于第二个问题:即使元素未显示
我正在尝试使用我正在使用的 Selenium 进行黑盒测试: Mac 操作系统:版本:10.9.4 java.版本:1.6.0_65 浏览器:firefox 版本 32.0.3 Selenium :版
尝试从多选下拉框中进行选择,发现似乎是一个不错的资源。 我正在研究http://preview.harriscountyfws.org/我正在尝试在“按机构选择”多选下拉列表中选择多个项目。 我在这里
我想做的就是:转到“http://news.google.com”,然后单击侧面菜单上的“技术”链接。这是我的代码: from selenium import webdriver from selen
目前我有此输入 + Add certificate 并且我想将文件发送到同一地址,因此我运行以下代码: self.driver.execute_script("docu
我试图让 selenium 单击 li 元素内的链接。这是在 while 循环内发生的。点击一直有效,直到我到达 li 低于 Firefox 窗口的水平。如果我在 selenium 尝试点击之前在 F
我有一个帮助函数来浏览页面并打开它找到的每个帮助按钮。它既漂亮又简单; def openHelp(ff): """ Opens all the help buttons on the
我正在尝试以编程方式在网站中选择一种货币:http://www.asos.com/asos/asos-skinny-chinos-in-dark-khaki/prd/5542109 但是它给我带来了一
我从来没有认真研究过 HTML,所以我要说的可能是不对的。 当我编写 selenium 代码时,我注意到某些网页上的某些按钮不会重定向到其他页面,但它们会更改第一个页面的结构。据我了解,发生这种情况是
我是一名优秀的程序员,十分优秀!