无法在 Workday 登录时单击“登录”按钮

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

嗨,我正在尝试使用 selenium 中的 python 单击页面的按钮https://walmart.wd5.myworkdayjobs.com/login,我尝试了 XPATH 和 id。使用点击,send_keys(Keys.enter),提交但仍然没有点击。谁能帮帮我吗?enter image description here

options = Options()
options.add_experimental_option('excludeSwitches', ['enable-logging'])

driver = webdriver.Chrome(executable_path=r"C:\Users\user\Downloads\chromedriver_win32 (1)\chromedriver.exe,chrome_options=options")
# Load webpage
driver.get(url)
driver.maximize_window() # For maximizing window
driver.implicitly_wait(20) # gives an implicit wait for 20 seconds
# Find first name field and fill it out
email = driver.find_element(By.XPATH,"//*[@id='input-4']").send_keys("[email protected]");
passw = driver.find_element(By.XPATH,"//*[@id='input-5']").send_keys("1233@1102");
sub = driver.find_element(By.XPATH,"//*[@id='input-5']").send_keys(Keys.TAB + Keys.ENTER)
python selenium-webdriver web-scraping rpa
1个回答
0
投票

首先,登录上述门户网站的正确网址是: https://walmart.wd5.myworkdayjobs.com/zh-CN/WalmartExternal/login

现在,你是对的,当我们尝试使用

Sign In
或我会说任何其他自动化工具进行自动化登录时,它不会让我们仅通过单击
Selenium
按钮登录。

我注意到,当我们尝试在

click()
按钮上应用
Sign In
时,它确实执行了点击,但之后没有任何反应。

我的朋友,在使用不同的东西多次尝试之后,我能够为您带来解决方案。

这里是解决方案:

import time
from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
import selenium.webdriver.support.expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains

options = ChromeOptions()
options.add_argument('--start-maximized')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36")


driver = Chrome(options=options)
wait = WebDriverWait(driver, 10)

url = "https://walmart.wd5.myworkdayjobs.com/en-US/WalmartExternal/login"
driver.get(url)

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'input[data-automation-id="email"]')))
email = driver.find_element(By.CSS_SELECTOR, 'input[data-automation-id="email"]')
email.send_keys('your_username')

password = driver.find_element(By.CSS_SELECTOR, 'input[data-automation-id="password"]')
password.send_keys('your_password')

submit = driver.find_element(By.CSS_SELECTOR, 'div[aria-label="Sign In"]')

hover = ActionChains(driver).move_to_element(submit)
hover.click().perform()

time.sleep(10)

注意事项:

  1. 正确的登录网址是https://walmart.wd5.myworkdayjobs.com/en-US/WalmartExternal/login
  2. 我们需要等待
    Sign In
    框出现在页面上。
  3. 我们必须将
    user-agent
    传递给Chrome选项。
  4. 使用
    ActionChains
    成功执行点击进入登录配置文件。一个简单的
    click()
    在这里不起作用。

希望能解决你的问题。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.