如何在python中使用find_element_by_id()

时间:2011-06-26 03:32:26

标签: python selenium-webdriver

我是硒的新手。我正在尝试使用python2.6在gmail浏览器中设置我的用户名。

import unittest
from selenium import webdriver;
from selenium import WebElement;
driver = webdriver.Ie();
driver.get("http://www.gmail.com");

WebElement uname = driver.find_element(by=By,id("Username:"));

uname.sendKeys("chakry.gosetty");

上面的代码我得到了

WebElement uname= driver.find_element(by=By,id("Username:"));
SyntaxError : Invalid syntax.

请帮帮我。

RGDS, G.Chakravarthy

3 个答案:

答案 0 :(得分:9)

怎么样......

import unittest
from selenium import webdriver

driver = webdriver.Ie()
driver.get('http://www.gmail.com')

driver.find_element_by_id('Email').send_keys('chakry.gosetty')
  • 你不需要在python中使用分号作为行终止符:)
  • 另外,用户名字段ID实际上是Email而不是Username:

答案 1 :(得分:4)

猜测:除了其他明显的语法错误之外,您不会导入By。怎么样:

from selenium.webdriver.common.by import By
...
uname = driver.find_element(By.ID,value="...")

答案 2 :(得分:0)

Isaac的答案是正确的,但需进行少量修改。 gmail上的email字段是输入类型字段,没有可靠的ID。我将使用以下语法来标识该字段。

  

driver.find_element_by_css_selector('input [type ='email']')

由于您的问题是关于如何使用ID查找元素的,答案是

  

driver.find_element_by_id(“ idLocatorValue”)