相关疑难解决方法(0)

Selenium - 等待元素出现、可见和可交互

我有一个 Selenium 脚本(Python),它点击回复按钮使anonemail类出现。anonemail 类出现的时间各不相同。因此,我必须使用 sleep 直到元素出现。

我想等到课程出现而不是使用睡眠。我听说过等待命令,但我不知道如何使用它们。

这是我迄今为止所拥有的:

browser.find_element_by_css_selector(".reply-button").click()
sleep(5)
email=browser.find_element_by_css_selector(".anonemail").get_attribute("value")
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-webdriver webdriverwait expected-condition

37
推荐指数
5
解决办法
6万
查看次数

将 cookie 加载到 Python 请求会话中时出错

我正在尝试将 cookie 从 selenium 导出的 cookie 加载到 Python 中的请求会话中,但是当我这样做时会返回以下错误:“'list' 对象没有属性 'extract_cookies'”

def load_cookies(filename):
    with open(filename, 'rb') as f:
        return pickle.load(f)

initial_state= requests.Session()
initial_state.cookies=load_cookies(time_cookie_file)
search_requests = initial_state.get(search_url)
Run Code Online (Sandbox Code Playgroud)

我在任何地方看到这都应该有效,但是我的 cookie 是一个字典列表,这就是我理解的所有 cookie,以及为什么我认为这适用于 Selenium。但是由于某种原因它不适用于请求,在这方面的任何和所有帮助都会非常好,感觉就像我错过了一些明显的东西!

已使用以下方法从 Selenium 转储 Cookie:

with open("Filepath.pkl", 'wb') as f:
    pickle.dump(driver.get_cookies(), f)
Run Code Online (Sandbox Code Playgroud)

cookie 的一个例子是(稍微混淆):

[{'domain': '.website.com',
  'expiry': 1640787949,
  'httpOnly': False,
  'name': '_ga',
  'path': '/',
  'secure': False,
  'value': 'GA1.2.1111111111.1111111111'},
 {'domain': 'website.com',
  'expiry': 1585488346,
  'httpOnly': False,
  'name': '__pnahc',
  'path': '/',
  'secure': False,
  'value': '0'}]
Run Code Online (Sandbox Code Playgroud)

我现在已经按照下面的答案设法加载了 cookie,但是 cookie 似乎没有正确加载,因为它们不记得任何东西,但是如果我在浏览 Selenium 时加载 cookie,它们工作正常。

python cookies selenium python-requests

4
推荐指数
2
解决办法
5527
查看次数