我正在尝试通过硒python登录以下网站
https://www.talentwise.com/screening/login.php
当我输入用户名,密码并单击sigin时,所有内容都会全部清除,而不会在ui上显示任何错误消息。(代码在本地工作正常,但在我们的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()
答案 0 :(得分:0)
要将字符序列发送到电子邮件地址和密码字段,您必须为{{1 }},您可以使用以下任一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("OmkarSalgaonkar@stackoverflow.com")
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("OmkarSalgaonkar@stackoverflow.com")
driver.find_element_by_xpath("//input[@id='Password']").send_keys("OmkarSalgaonkar")
driver.find_element_by_xpath("//input[@id='SignIn']").click()
浏览器快照: