如何在Python中使用find_element_by_id()

7 投票
3 回答
48773 浏览
提问于 2025-04-16 20:18

我刚接触selenium,想用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.

请帮帮我。

谢谢,
G.Chakravarthy

3 个回答

0

Isaac的回答是对的,只需要稍微修改一下。Gmail上的邮箱输入框没有一个可靠的ID,所以我们可以用下面的方式来找到这个输入框。

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

因为你问的是如何通过ID来找到一个元素,所以答案是:

driver.find_element_by_id("idLocatorValue")

7

我猜:除了其他明显的语法错误之外,你没有导入By。试试这个:

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

怎么样呢...

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:

撰写回答