小编Mat*_*rše的帖子

Python Selenium访问HTML源代码

如何使用带有Python的Selenium模块在变量中获取HTML源代码?

我想做这样的事情:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get(raw_input("Enter URL: "))
if "whatever" in html_source:
    # Do something
else:
    # Do something else
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我不知道如何访问HTML源代码.

python selenium selenium-webdriver

87
推荐指数
5
解决办法
12万
查看次数

是否需要消毒JSON?

我认为网络上的一个众所周知的最佳做法是不信任任何输入.这句话

"所有的投入都是邪恶的."

可能是输入验证方面引用最多的引用.现在,对于HTML,您可以使用DOMPurify等工具对其进行清理.

我的问题是,如果我有运行Express和身体解析器中间件的Node.js服务器来接收和解析JSON,我是否还需要运行任何清理?

我(也许天真?)的想法是JSON只是数据,没有代码,如果有人发送无效的JSON,身体解析器(JSON.parse()内部使用)无论如何都会失败,所以我知道我的应用程序将收到一个有效的JavaScript对象.只要我没有运行eval或调用函数,我应该没事,不应该吗?

我错过了什么吗?

javascript json sanitization node.js dompurify

19
推荐指数
2
解决办法
2万
查看次数

硒批判

我只是想从运行Selenium的人那里得到一些意见(http://selenium.openqa.org)我在WaTiN方面有很多经验,甚至还为它写了一套录音套件.我有它生成一些结构良好的代码,但只是由我维护,似乎我的公司几乎放弃了它.如果你已经运行了硒,你有很多成功吗?我将使用.NET 3.5,Selenium能很好地使用它吗?生成的代码是干净的还是只是所有交互的列表?(http://blogs.conchango.com/richardgriffin/archive/2006/11/14/Testing-Design-Pattern-for-using-WATiR_2F00_N.aspx)分布式测试套件的公平性如何?

任何其他抱怨或赞美系统将不胜感激!

selenium automated-tests unit-testing ui-testing

16
推荐指数
2
解决办法
3613
查看次数

无法在无头模式下最大化Chrome窗口

我最近将我的chrome版本升级到60并将chromedriver升级到版本2.31.发布当我尝试最大化浏览器窗口时,我已经开始获得以下异常.

    driver.driver.manage().window().maximize()
Run Code Online (Sandbox Code Playgroud)

org.openqa.selenium.WebDriverException:未知错误:无法将窗口状态更改为最大化,当前状态正常(会话信息:chrome = 60.0.3112.78)(驱动程序信息:chromedriver = 2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform = Linux 4.2 .0-27-generic x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:108毫秒构建信息:版本:'2.53.1',修订版:'a36b8b1cd5757287168e54b817830adce9b0158d',时间:'2016-06 -30 19:26:09'系统信息:主机:'bb-blr-prod-stage-stg1-01',ip:'10 .3.211.2',os.name:'Linux',os.arch:'amd64' ,os.version:'4.2.0-27-generic',java.version:'1.7.0_80'会话ID:c7de7149dd490cc7760d2f4fc49f0325驱动信息:org.openqa.selenium.chrome.ChromeDriver Capabilities [{platform = LINUX,acceptSslCerts = true ,javascriptEnabled = true,browserName = chrome,chrome = {userDataDir =/tmp/.org.chromium.Chromium.WABPhO,chromedriverVersion = 2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8)},networkCo nnectionEnabled = false,unexpectedAlertBehaviour =,rotate = false,setWindowRect = true,locationContextEnabled = true,mobileEmulationEnabled = false,pageLoadStrategy = normal,version = 60.0.3112.78,takesHeapSnapshot = true,cssSelectorsEnabled = true,databaseEnabled = false,handlesAlerts = true,browserConnectionEnabled = false,webStorageEnabled = true,nativeEvents = true,hasTouchScreen = false,applicationCacheEnabled = false,takesScreenshot = true}]

我在Geb上使用ChromeDriver在无头模式下运行我的测试.

  • Chrome版本 - 60.0.3112.78
  • chromedriver版本 - 2.31.488763
  • 操作系统 - Ubuntu 14.04.4 LTS …

selenium google-chrome geb selenium-chromedriver

15
推荐指数
3
解决办法
1万
查看次数

Selenium使用Chrome,但不使用无头Chrome

我使用Selenium开发了一些Python脚本,最初是PhantomJS.在转向自动下载的同时,我切换到(朝向)Firefox(已经工作),然后使用无头选项切换Chrome,因此我不会在我面前打开浏览器.

我的第一个脚本访问一个页面和几个HTML元素,与无头Chrome完美配合.

然而,第二个只适用于Chrome.如果我添加"无头"选项,它将不再起作用.当我尝试在无头模式下打印HTML以查看为什么它找不到我正在寻找的HTML元素时,我只有:

<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>
Run Code Online (Sandbox Code Playgroud)

使用标题Chrome,我有一个完整的HTML打印.这就是我开始无头Chrome的方式:

options = webdriver.ChromeOptions()
options.add_argument("--ignore-certificate-errors") 
options.add_argument("headless") 
driver = webdriver.Chrome(chrome_options=options)
Run Code Online (Sandbox Code Playgroud)

再次注意,这适用于我的另一个脚本.这里唯一的区别是我需要登录才能访问该页面,但即便如此,为什么它会与头部一起工作?填写表单,我的脚本无论如何都会自动登录.

Python:3.6.1,Chrome:60.0.3112.78(64位),Selenium:3.4.3

任何的想法 ?谢谢.

编辑:这是代码的开头

url = 'https://10.11.227.21/tmui/'
driver.get(url + "login.jsp")

html_source = driver.page_source
print(html_source)

blocStatus = WebDriverWait(driver, TIMEOUT).until(EC.presence_of_element_located((By.ID, "username")))
inputElement = driver.find_element_by_id("username")
inputElement.send_keys('actualLogin')
inputElement = driver.find_element_by_id("passwd")
inputElement.send_keys('actualPassword')
inputElement.submit()
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome headless

13
推荐指数
2
解决办法
9748
查看次数

如何为特定的 Jenkins 工作设置“killSoftly”?

我的 Jenkins 构建在构建和构建后步骤之间挂起。

控制台输出显示有 6 分钟的等待(但我已经看到等待长达一小时):

10:53:26 BUILD FAILED in 1m 7s
10:53:26 4 actionable tasks: 4 executed
10:53:26 Build step 'Invoke Gradle script' changed build result to FAILURE
10:53:26 Build step 'Invoke Gradle script' marked build as failure
11:09:29 [CucumberReport] Using Cucumber Reports version 4.9.0
Run Code Online (Sandbox Code Playgroud)

我发现这个这个问题有类似的问题,他们说解决方案是-DSoftKillWaitSeconds=0jenkins.xml.

但是,我需要一种方法来仅为特定作业设置选项,而不会弄乱全局 Jenkins 设置(我不想弄乱其他项目)。

编辑:

当我手动中止作业时,在 [CucumberReport] 步骤之前,仍会生成 Cucumber 报告。

我还检查构建环境选项中的如果构建被卡住复选框,则中止构建,超时策略设置为No Activity(超时秒数 = 2)。

当我使用这些设置构建项目时,构建将失败,并在构建历史记录中显示“0 秒后中止”,但控制台输出将相同。(没有任何变化,黄瓜报告将生成,但在一定的超时后)。

java build gradle jenkins jenkins-plugins

11
推荐指数
1
解决办法
861
查看次数

会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 88

chromedriver 88按照要求安装了版本,但我的版本 chrome 是87.0.4280.88最后一个版本(测试版之外)

同时我也要求下载version 88chrome

这是错误

selenium.common.exceptions.SessionNotCreatedException: 
Message: session not created: This version of ChromeDriver only supports Chrome version 88
Current browser version is 87.0.4280.88 with binary path 
C:\Program Files\Google\Chrome\Application\chrome.exe
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

python selenium

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

如何在Docker中的Jenkins中运行Katalon测试套件

我有一个Katalon测试套件设置,它在用户界面和我安装了Katalon studio的机器上的CLI中运行良好.

我有一个在Docker容器中运行的Jenkins CI服务器,我想设置一个工作来在Jenkins服务器上运行我的测试套件.

我在Jenkins服务器上需要什么运行时才能运行Katalon作业?Jenkins是否有运行时或插件?

如果没有,是否有可用于通过jenkins远程运行作业的Katalon码头工具箱,如SonarQube的东西?

jenkins docker katalon-studio

10
推荐指数
2
解决办法
4152
查看次数

选择Katalon而不是Selenium有哪些案例?

我知道katalon技术是建立在硒之上的.

我也知道Groovy有一些非常强大的测试功能.

但是,卡塔隆有点被低估了吗?

在某种程度上,有人应该选择两者中的一种来使用吗?

java groovy selenium automated-tests katalon-studio

10
推荐指数
3
解决办法
653
查看次数

Katalon - 将记录的测试脚本导出到java/junit

是否可以选择将录制的测试脚本导出到Katalon工作室的Java/JUuit(类似于slenium IDE)?因为我正在处理的应用程序只与IE兼容; 所以我不能使用selenuim IDE.所以我不得不找其他工具来播放/录制会话.

提前感谢您的帮助!谢谢!

selenium cucumber-jvm selenium-webdriver cucumber-java katalon-studio

9
推荐指数
2
解决办法
9036
查看次数