开发者

Python webdriver in IE returns None for all find_elements

I am developing tests using the latest version of Selenium 2 in python, installed with pip install -U selenium. I have a series of tests that run correctly usin开发者_运维技巧g webdriver.Firefox(), but do not with webdriver.Ie(). It opens and navigates to the page correctly, but any attempt to access elements in that page fails. It does not appear to be a problem in other pages, but I cannot identify what would be causing the problem with mine.

I can generate the problem easily by building an instance of the webdriver with:

from selenium import webdriver
browser = webdriver.Ie()
browser.get("page url")
browser.find_elements_by_tag_name("html") #returns None!

I'm looking for any clues as to why this might be.


If you are exactly using this code, there are absolutely some problems.

First, I think it's better to assign return value of find to a variable and then check its value; I mean html_tags = browser.find_elements_by_tag_name("html").

After that, I thin you should use browser.find_element_by_tag_name("html"); because every page has just one tag with name "html". Your code is true if you want to achieve all tag elements with name "html".

Finally I think you want to access page source; in that case, you should use one of these:

  1. html_text = browser.find_element_by_tag_name("html").text
  2. html_text = browser.find_elements_by_tag_name("html")[0].text

Just to cover all the states, could you please tell me what is the URL that you are trying to access; because I tried multiple webpages with your code (exactly yours, not after my own edits) and everything was fine.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜