使用selenium发送多个Tab键按下

pin*_*nas 7 python selenium selenium-webdriver

如何使用Selenium发送多个标签?

当我跑:

uname = browser.find_element_by_name("text")
uname.send_keys(Keys.TAB)
Run Code Online (Sandbox Code Playgroud)

选择下一个元素.当uname.send_keys(Keys.TAB)再次执行时没有任何反应 - 实际上选择了下一个元素uname- >所以它与运行一次时相同.

我怎样才能多次前进 - 基本上我会多次手动按TAB?

ale*_*cxe 16

使用行动链:

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

N = 5  # number of times you want to press TAB

actions = ActionChains(browser) 
for _ in range(N):
    actions = actions.send_keys(Keys.TAB)
actions.perform()
Run Code Online (Sandbox Code Playgroud)

或者,因为这是Python,你甚至可以这样做:

actions = ActionChains(browser) 
actions.send_keys(Keys.TAB * N)
actions.perform()
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,它来自selenium.webdriver.common.keys导入Keys` (2认同)

Sye*_*lec 5

我觉得你也可以写

uname.send_keys(Keys.TAB + Keys.TAB + Keys.TAB + ... )
Run Code Online (Sandbox Code Playgroud)

如果您只有两三个命令要发送,这可能很有用。