按钮在Selenium Python(chrome webdriver,protonmail)中无法读取



我正在学习将Selenium与python2一起使用,并正在创建一个程序来使用protonmail登录和撰写消息。

一切都运行顺利,直到它到达带有侧边栏的行。我已经验证了 xpath 是准确的,并尝试了按 id 获取元素,但是继续获得无此类元素异常。我添加了几行来禁用弹出窗口,所以这不是问题。

有谁知道可能导致这种情况的原因?一定有什么我忽略了什么。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.options import Options
#disable notifications
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument("start-maximized")
browser = webdriver.Chrome(chrome_options=chrome_options, executable_path=r'C:/webdrivers/chromedriver.exe')
# open page
browser.get('http://mail.protonmail.com');
time.sleep(5)
#login
username = browser.find_element_by_id("username")
password = browser.find_element_by_id("password")
username.send_keys("testproj")`enter code here`
password.send_keys("Testers_test123")
login_attempt = browser.find_element_by_id("login_btn")
login_attempt.submit()
time.sleep(10)
#compose Message
sidebar = browser.find_element_by_xpath('//*[@id="pm_sidebar"]/button').click()

尝试在定位器中使用单引号

browser.find_element_by_xpath("//*[@id='pm_sidebar']/button").click()

还可以帮助您以文本格式共享您的 html 代码。你应该使用隐式或显式的等待而不是 time.sleep 它不是等待的最佳方式,因为元素出现可能需要或多或少的时间。看看这个

相关内容

  • 没有找到相关文章

最新更新