Selenium的python登录在本地工作,但在Linux服务器上却不工作。

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

我正试图通过selenium python登录以下网站。

https://www.talentwise.com/screening/login.php

当我输入用户名、密码并点击登录时,所有的东西都被清除,没有任何错误信息(代码在本地工作正常,但在我们的Linux服务器上不正常)。

    options = Options()
    options.add_argument("--headless")
    options.add_argument("--no-sandbox")
    options.add_argument("window-size=1200,1100")
    options.binary_location = "parts/chromium/chromium/chrome"
    self.driver = webdriver.Chrome(
        chrome_options=options,
        executable_path='parts/chromium/chromedriver/chromedriver',
    )
    self.driver.maximize_window()
    self.driver.get(url)
    WebDriverWait(self.driver, delay).until(
        EC.presence_of_element_located(
            (By.XPATH, "//input[@id='EmailAddr']")
        )
    ).send_keys(username)
    WebDriverWait(self.driver, delay).until(
        EC.presence_of_element_located(
            (By.XPATH, "//input[@id='Password']")
        )
    ).send_keys(password)
    WebDriverWait(self.driver, delay).until(
        EC.presence_of_element_located(
            (By.XPATH, "//input[@id='SignIn' and @type='submit' and @value='Sign In']")
        )
    ).click()
python selenium xpath css-selectors webdriverwait
1个回答
0
投票

要发送 字序电子邮件地址密码 场你要诱导 WebDriverWait 对于 element_to_be_clickable() 您可以使用以下任何一种方式 定位策略:

  • 使用 CSS_SELECTOR:

    driver.get('https://www.talentwise.com/screening/login.php')
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#EmailAddr"))).send_keys("[email protected]")
    driver.find_element_by_css_selector("input#Password").send_keys("OmkarSalgaonkar")
    driver.find_element_by_css_selector("input#SignIn").click()
    
  • 使用 XPATH:

    driver.get('https://www.talentwise.com/screening/login.php')
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='EmailAddr']"))).send_keys("[email protected]")
    driver.find_element_by_xpath("//input[@id='Password']").send_keys("OmkarSalgaonkar")
    driver.find_element_by_xpath("//input[@id='SignIn']").click()
    
  • 说明: : 你必须添加以下导入。

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • 浏览器快照。

sterling

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