我尝试使用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")
感谢。
答案 0 :(得分:0)
尝试使用以下代码。
username.clear(); username.sendkeys( “12335”);
答案 1 :(得分:0)
以下是您的问题的答案:
我没有在您的代码块中看到任何重大错误。您可以考虑省略driver.switch_to
因为xpath
“.// * [@ id ='uubn']”元素位于顶部窗口。考虑避免使用time.sleep(n)
并替换为implicitly_wait
或Explicit 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")
如果这回答你的问题,请告诉我。