无法使用Selenium和Python输入文本框

时间:2017-06-20 01:10:46

标签: python selenium

我尝试使用selenium在文本框中输入一些值,但它不起作用。代码正在执行,没有错误。有人可以解释我错过的内容。

> from selenium import webdriver 
> from selenium.webdriver.common.keys import Keys
> import re, time, csv
> 
> 
> driver = webdriver.Firefox()
> 
> driver.get("https://www.ebs.ncrs.nhs.uk/pabs/login") driver.switch_to
> driver.maximize_window time.sleep(10)
> 
> username = driver.find_element_by_xpath(".//*[@id='ubrn']")
> username.click() username.send_keys("000200020002")

感谢。

2 个答案:

答案 0 :(得分:0)

尝试使用以下代码。

username.clear(); username.sendkeys( “12335”);

答案 1 :(得分:0)

以下是您的问题的答案:

我没有在您的代码块中看到任何重大错误。您可以考虑省略driver.switch_to因为xpath“.// * [@ id ='uubn']”元素位于顶部窗口。考虑避免使用time.sleep(n)并替换为implicitly_waitExplicit Wait

这是你自己的代码块,有一些简单的调整,在我的最后工作正常:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import re, time, csv

binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.maximize_window()
driver.get("https://www.ebs.ncrs.nhs.uk/pabs/login")
driver.implicitly_wait(5)
username = driver.find_element_by_xpath(".//*[@id='ubrn']")
username.click()
username.send_keys("000200020002")

如果这回答你的问题,请告诉我。