Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >只有在使用脚本中的铬时才使用Seleniumbase TimeoutException

只有在使用脚本中的铬时才使用Seleniumbase TimeoutException
EN

Stack Overflow用户
提问于 2020-07-28 13:23:14
回答 1查看 126关注 0票数 1

我有一个url登录脚本,该脚本工作了几天,但是后来退出了,它使用的是铬webdriver。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
driver = webdriver.Chrome('/snap/bin/chromium.chromedriver', options=option)

我可以在没有脚本的情况下使用Firefox或Chromium访问URL (只是正常的)。或者脚本中的Firefox。但是使用脚本中的铬,它点击登录按钮并挂起,最终导致超时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
selenium.common.exceptions.TimeoutException: Message:

如果我打开一个新的选项卡,尝试登录没有脚本,但手动,它仍然挂起。仅在selenium启动的浏览器中登录是不可能的(在我的目标站点上)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/python3
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from seleniumbase import BaseCase
import time
import random

user_name = 'user'
password = 'password'
list = [
        ]
minptime = 4
maxptime = 24

list_length = len(list)
print('Array length ', list_length)
class MyMeClass(BaseCase):
        def method_a():
                option = webdriver.ChromeOptions()
                option.add_argument('--disable-notifications')
                option.add_argument("--mute-audio")
                driver = webdriver.Chrome('/snap/bin/chromium.chromedriver', options=option)

                driver.get("https://me.com/")
                print(driver.title)
                element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.login-btn.btn-shadow#login-fake-btn[data-testid='login-fake-btn']"))).click()
                driver.find_element_by_xpath('/html/body/div[1]/div/div[1]/div/form/input[1]').send_keys(user_name)
                driver.find_element_by_xpath('/html/body/div[1]/div/div[1]/div/form/input[2]').send_keys(password)
                time.sleep(5)
                driver.find_element_by_xpath('/html/body/div[1]/div/div[1]/div/form/button').click() #button click in question
                time.sleep(8)
                driver.get(url)
                print(driver.current_url)
                return driver
driver = MyMeClass.method_a()

按钮我正在访问

如何在脚本中使用/取消铬中这个登录按钮的使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-28 13:27:52

试试下面的代码:

包含

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wait = WebDriverWait(driver, 30)
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[contains(text(), 'Log in')]"))).click()

类名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wait = WebDriverWait(driver, 30)
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn-login btn-shadow']"))).click()

注意:请将以下导入添加到您的解决方案中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

工作解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
driver.get(" your url ")
wait = WebDriverWait(driver,30)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//button[@id='login-fake-btn']")))
print element.text
element.click()

wait = WebDriverWait(driver,30)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='email']"))).send_keys("Test")
wait = WebDriverWait(driver,30)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='password']"))).send_keys("Test")
element1 = wait.until(EC.presence_of_element_located((By.XPATH, "//div[@id='login-overlay']//div//form//button")))
element1.click()

输出:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63142963

复制
相关文章
WordPress 技巧:只有指定的 Shortcode 存在时才载入相关脚本文件
WordPress 3.6 版本增加了一个新的函数 has_shortcode(),这个函数的主要功能就是检测指定内容里是否存在指定的 Shortcode 使用,带来的好处就是只在有使用指定 Shortcode 的文章页面才载入相关脚本文件,这样细微纠结虽然不能给页面载入带来可见的载入速度提升,但锱铢必较向来是我的癖好,好的习惯总能带来不错的效果的。
Denis
2023/04/15
2220
【shell脚本】$ 在shell脚本中的使用
注释:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数
码缘
2019/07/01
6.3K0
Shell-alias在Shell脚本中的使用
众所周知,shell脚本使用的是非交互式方式,在非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias别名扩展成对应的命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH中均没有与alias别名同名的命令,则shell会找不到指定的命令。
小小工匠
2021/08/16
2.3K0
数组-在Shell脚本中的基本使用介绍
Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节。 下面是对shell脚本中数组方面一些操作在此进行记录,希望能帮助到有兴趣的朋友~ 1.数组定义 [root@bastion-IDC ~]# a=(1 2 3 4 5 6 7 8) [root@bastion-IDC ~]# echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。 2.数组读取与赋值 1)得到长度: [root@bastion-IDC ~]# echo $
洗尽了浮华
2018/01/22
4K0
只有程序员才看懂的...
离职程序员之项目交接 动了一下看似很普通的一句代码 修复完bug,迎接周末的我 刚修复了Bug,我给老板演示的时候 正则表达式返回了了预期结果的时候 新手程序员第一次打出Hello World的时候 测试工程师责怪程序员低级bug的时候 刚从 C 转到 Python 时,经常忍不住,忍不住,忍不住就写了分号 在找 Bug …… 找到 Bug 了 写了半小时文档,想保存的时候却死机了 理想与现实的差距,理想和现实中的多线程 无需求文档,就要我去开发 没保
用户1631416
2018/04/12
5470
只有程序员才看懂的...
只有程序猿才懂的道理
① 面试官:熟悉哪种语言? 应聘者:C# 面试官:知道什么叫类么? 应聘者:我这人实在,工作努力,不知道什么叫累。 面试官:知道什么是包? 应聘者:我这人实在,平常不带包,也不用公司准备了。 面试官:知道什么是接口吗? 应聘者:我这个人工作认真,从来不找借口偷懒。 面试官:知道什么是继承么? 应聘者:我是孤儿没什么可以继承的。 面试官:知道什么叫对象么? 应聘者:知道,不过我工作努力,上进心强,暂时还没有打算找对象。 面试官:知道多态么? 应聘者:知道,我很保守的。我认为让心爱的女人为了自已一时的快乐去堕胎
码神联盟
2018/04/02
6160
只有程序员才懂吗?
离职程序员之项目交接 修复完bug,迎接周末的我 刚修复了Bug,我给老板演示的时候 正则表达式返回了了预期结果的时候 新手程序员第一次打出Hello World的时候 在找 Bug …… 找到 Bug 了 理想与现实的差距,理想和现实中的多线程 代码没有测试,居然也能如预期工作的时候 现实生活中的编程 vs 影视作品中的编程 只改了一行代码…… 诶?我刚刚是不是删了个文件? 程序员VS产品经理 暴雨天L5级别的自动驾驶 200个需求够不够 特洛伊木马与Windows防火墙 “精神领袖” 真正的“深度学习”
玄姐谈AGI
2020/07/03
4240
在使用Vue2.0中使用axios库时,遇到415错误
解决办法:在axios的第三个参数config中,设置请求头信息'Content-Type': 'application/json;charset=UTF-8'
Arebirth
2020/06/19
3.4K0
只有CEO才玩得起的奢侈运动
点击标题下「大数据文摘」可快捷关注 译者:严匡正 摘自:财富中文网 谷歌公司高级副总裁艾伦•尤斯塔斯日前从一个升至4万米高空,造价7万多美元的热气球上纵身一跃,一举打破高空跳伞的世界纪录。在人们为他欢呼的同时,别忘了,这些CEO级别高管们酷爱的运动有多烧钱。 上周,许多人非常惊讶地获悉,艾伦•尤斯塔斯无畏地从平流层上一跃而下,成功超越了奥地利跳伞运动员菲利克斯•鲍姆加特纳创造的高空跳伞世界纪录。 更让人惊讶的是,从超过25英里(约合40,234米)高的热气球上跳下,下落速度超过800英里(约合1,287千米
大数据文摘
2018/05/22
8650
在Linux使用Bash脚本命令
tee命令的默认行为是覆盖指定的文件,与>运算符相同。 要将输出附加到文件,请使用-a(--append)选项调用命令:
用户5005176
2021/08/10
2.1K0
在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎
        前些天听到一个需求:某业务方需要我们帮忙清理用户电脑上的一些废弃文件。同事完成这个逻辑的方案便是在我们程序中加入了一个很“独立”的业务逻辑:检索和删除某个程序产生的废弃文件。试想,该“独立”的逻辑之后会如何?被删掉?一直保留着?不管如何,这都意味着我们代码需要做修改,我们生成的二进制文件将产生差异,我们要为了这个需求要发一次版本。想一想客户端升级这样一个漫长且耗流量的过程,我甚至认为为了这么一个需求去浪费这些非常不值得。那么有没有一种比较好的办法,让我们不修改代码,不发布版本就能完成这样的“一次性”需求呢?当然有!是否记得若干年前,某个大公司和某个大公司吵架,当时那位新上任的CEO说某某公司可以“云暗杀”。且这种“暗杀”是一次性的,做完后可以销毁证据,且非常难以捕捉。我没有考究这个说法,但是从技术层面来说,这样的技术可以说并不复杂。那如何实现呢?就是本系列文章中讨论的:在程序中嵌入Lua脚本引擎。(转载请指明出于breaksoftware的csdn博客)
方亮
2019/01/16
2.8K0
在Redis中使用简单强大的Lua脚本
前段时间写Redis分布式锁,想着在小灰文章的基础上再总结一下,这样能有更深的印象,顺便把Lua脚本分享一下,如果项目中使用Redis比较多,那么Lua脚本一定是会用到的,因为它简单强大。
Java识堂
2019/11/04
2.4K0
redis中Lua 脚本,使用示例
在上面的示例中,我们使用GET命令获取了缓存命中和未命中的次数,然后根据计算公式计算出命中率,最后将结果以字符串形式返回给客户端。
玖叁叁
2023/04/15
7660
BerkeleyDB .je 在作为存储时的简单使用
最近在研究BDB时发现速度特别快(非关系型数据库)下面我给大家共享一下我在学习的过程中的一些收获和问题,不知道哪位大神帮忙解决一下。主要在putNoDupData,不知道该怎么使用
用户5166556
2019/04/16
1.4K0
Promise.all在统计WebHDFS时的使用
3、对请求到的日志里的数据,分析、截取、分割操作 1)把结果导入数据库(按项目名、日期、项目id、死链、日志原始链接) 2)拼成html邮件格式(table) 3)整个项目部署到Linux上,设定crontab定时任务,每天发送
杨肆月
2019/08/15
1.4K0
Promise.all在统计WebHDFS时的使用
shell脚本中的数组常见使用方式
shell中数组的定义是使用 小括号来表示的,其中数组元素之间用空格作为分隔,比如:
qsjs
2021/11/24
3.1K0
使用脚本操作UpdatePanel中控件的问题
假设有一个脚本(用js或者jQuery等类似手段编写),为UpdatePanel中的一个普通的TextBox赋值。如果你以为这样写: <head runat="server">     <title>Test</title>     <script src="Scripts/jquery-2.0.0.js"></script>     <script>         $(function ()         {             $('#<%=TextBox1.ClientID%>').val("
欢醉
2018/01/22
1.6K0
点击加载更多

相似问题

只有在方法退出时才使用模板

24

只有在shell脚本中存在文件时才移动

32

只有在从shell运行脚本时才使用Tkinter NameError

12

只有在使用InputStream时才使用Java InputStreamReader阻塞

14

只有在git提交时才运行python脚本。

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文