我正在使用python 3硒,我想在https://zomato.com页中登录,但是当我在脚本中编写并运行它时,单击了登录按钮,但对话框未打开 但是,当我在命令行(终端)中编写这些语句时,它会被单击,对话框也会打开。 我尝试过使用chrome和Firefox
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait as wait
import time
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
driver.get("https://www.zomato.com/")
login_btn_outer =driver.find_elements_by_xpath("//*@id='signin-link']")[0].click()
答案 0 :(得分:0)
页面结构加载后,很可能会应用事件。 尝试等待,然后再尝试点击触发器:
import time
from playsound import playsound
Time = time.strftime('%H:%M')
with open('alarms.txt') as f:
alarms = f.readlines()
for alarm in alarms:
alarm = alarm.rstrip('\n')
while Time != alarm:
print('The time is: ' + Time + '\n')
Time = time.strftime('%H:%M')
time.sleep(1)
continue
if Time == alarm:
playsound('alarm.mp3')
编辑:我也浏览了该页面。该事件将在页面准备就绪后应用,并且他的ID为driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS)
driver.get("https://www.zomato.com/")
login_btn_outer =driver.find_elements_by_xpath("//*@id='signinlink']")[0].click()
,而不是您的signin-link
。
答案 1 :(得分:0)
尝试一下。这应该可行。
for
让我知道是否可行。