我正试图通过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()
要发送 字序 至 电子邮件地址 和 密码 场你要诱导 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
浏览器快照。