硒和鼠标单击之间的不同行为

问题描述 投票:0回答:1

当前行为

使用这段代码

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    browser = webdriver.Firefox()
    button_value = '/html/body/div/div[2]/div/div/div/div/div[1]/div/form/div/div[3]/div[3]/a[2]'
    .........
    browser.find_element(By.XPATH, pin_box).send_keys(pin)
    browser.find_element(By.XPATH,, button_value).click() #Click NEXT Button

在此页面上

enter image description here

我最终回到登录名page

如果我在上面加上一个断点,则>

browser.find_element(button_type, button_value).click()

我手动用鼠标单击enter image description here

我将转到所需的页面

预期的行为

通过Selenium进入所需的页面(即不是登录页面),就像我手动单击下一步按钮一样>]

PS:如果需要,请输入PIN html source

当前行为使用selenium中的这段代码从selenium.webdriver.support.ui中导入webdriver从selenium.webdriver.support中导入WebDriverWait ...

python python-3.x selenium selenium-firefoxdriver
1个回答
0
投票

尝试用webdriver wait或用ENTER按钮上的发送next键单击。作为最后一个选择,您可以尝试使用Javascript单击。

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.XPATH, "//a[.='NEXT']")))
element.click()
© www.soinside.com 2019 - 2024. All rights reserved.