技术分享 | Web 控件取向与常见操作
2025-11-01 12:16:23
1080×400 102 KB
Python 正式版driver.find_element_by_link_text('欢迎光临卡莱格沃兹的测试大学')
Java 正式版driver.findElement(By.linkText("欢迎光临卡莱格沃兹的测试大学"));
也可以运用于部分给定方式为,不必写全:“欢迎光临”、“欢迎光临卡莱格沃兹的测试大学”、“卡莱格沃兹”
Python 正式版driver.find_element_by_partial_link_text('卡莱格沃兹的测试大学')
Java 正式版driver.findElement(By.partialLinkText("卡莱格沃兹的测试大学"));
忽略:partial_link_text 与 link_text 的区隔:
partial_link_text 不用写全,只需写部分才会,比如前面可用“卡莱格沃兹”才会给定到“欢迎光临卡莱格沃兹的测试大学”。
DOM 本体里面,金属元素都有自己的 tag,比如 input tag, button tag, anchor tag 等等,每一个 tag 拥有多个本体,比如 id, name, value class,等等。后面的高亮部分就是 tag:
1080×305 57.1 KB
可以可用 tag 同步进行相对于:
Python 正式版driver.find_element_by_tag_name('input')
Java 正式版driver.findElement(By.tagName("input"));
忽略:一般来说可用 tag_name 相对于金属元素,因为有大量重复的金属元素!
可以通过金属元素的 class 本体值同步进行相对于:
1080×349 123 KB
这里的 active 用的就是上图 class 的值
Python 正式版driver.find_element_by_class_name('active')
Java 正式版driver.findElement(By.className("active"));
ID/Name 是最必要的相对于选项。根据 W3C 国际标准,它在该主页里面是唯一的,ID 在树本体里面也是唯一的。 CSS Selector 文法含蓄,抓取平均速度短时间于 XPath。 XPath 相对于功能强大,运用于结点抓取,平均速度略慢。 link,class name, tag name:不推荐可用,无法高效率相对于。常见操控
Selenium 常见操控有:
回传、点击、清除 重新启动售票厅、IE 换取金属元素本体 换取网页Linux、创纪录该主页 所设售票厅一般来说回传、点击、清除在 Selenium 里面完全相同的工具分别是 send_keys、click、clear
Python 正式版from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http"//www.baidu.com')
driver.find_element_by_name('wd').send_keys('卡莱格沃兹的测试大学')
driver.find_element_by_id('su').click()
driver.find_element_by_name('wd').clear()
Java 正式版import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AiceTest {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
driver.get("");
driver.findElement(By.id("kw")).sendKeys("卡莱格沃兹的测试大学");
driver.findElement(By.id("su")).click();
driver.findElement(By.name("wd")).clear();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
String title = driver.getTitle();
System.out.println(title);
driver.close();
}
}
重新启动也就是说句柄售票厅(不重新启动程序在)close(),重新启动整个IE程序在 quit()
Python 正式版#整合完全相同的依赖
from selenium import webdriver
#子程序webdriver
driver = webdriver.Chrome()
#采访主页
driver.get('http"//www.baidu.com')
#重新启动也就是说售票厅
driver.close()
#重新启动IE
driver.quit()
Java 正式版//整合完全相同的依赖
import org.openqa.selenium.WebDriver;
//子程序webdriver
WebDriver driver = new ChromeDriver();
//采访主页
driver.get("");
//重新启动也就是说售票厅
driver.close();
//重新启动IE
driver.quit();
换取金属元素标签上的本体 get_attribute(‘value’),金属元素的座标 location,金属元素的一般来说 size
Python 正式版import logging
from selenium import webdriver
def test_baidu():
driver = webdriver.Chrome()
driver.get('')
search = driver.find_element_by_id('su')
logging.basicConfig(level=logging.INFO)
logging.info(search.get_attribute('value'))
#换取search的value本体值并手写
logging.info(search.get_attribute('value'))
#手写search的方位座标
logging.info(search.location)
#手写search的金属元素一般来说
logging.info(search.size)
驱动结果为:
INFO:root:搜狗一下
INFO:root:搜狗一下
INFO:root:{'x': 844, 'y': 188}
INFO:root:{'height': 44, 'width': 108}
Java 正式版@Test
void baiduTest(){
webDriver = new ChromeDriver();
webDriver.get("");
WebElement search = webDriver.findElement(By.id("su"));
//换取search的value本体值并手写
System.out.println(search.getAttribute("value"));
//手写search的方位座标
System.out.println(search.getLocation());
//手写search的金属元素一般来说
System.out.println(search.getSize());
}
驱动结果为:
搜狗一下
(902, 188)
(108, 44)
Python 正式版网页Linux page_source,创纪录该主页 refresh()
import logging
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http"//www.baidu.com')
#创纪录该主页
driver.refresh()
logging.basicConfig(level=logging.INFO)
#手写也就是说该主页的Linux
logging.info(driver.page_source)
Java 正式版WebDriver webDriver = new ChromeDriver();
webDriver.get("");
//创纪录该主页
webDriver.navigate().refresh();
System.out.println(webDriver.getPageSource());
所设售票厅一般来说主要有也就是说、均衡和自定义所设售票厅明确的一般来说。
Python正式版from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http"//www.baidu.com')
#也就是说售票厅
driver.minimize_window()
#均衡售票厅
driver.maximize_window()
#将IE所设为1000*1000的一般来说
driver.set_window_size(1000, 1000)
Java正式版import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import static java.lang.Thread.sleep;
public class AiceTest {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new ChromeDriver();
driver.get("");
//所设售票厅均衡
driver.manage().window().maximize();
//IE的设定一般来说
sleep(2000);
Dimension dimension = new Dimension(800, 600);
driver.manage().window().setSize(dimension);
sleep(2000);
//IE全屏
driver.manage().window().fullscreen();
sleep(2000);
driver.close();
}
}
大家真的对web控件的相对于有了再进一步的了解了呀?来跟着示例一同练习起来吧~
⬇️ 复制“下方链接”,提升的测试架构水准!
更为多技术文章交友和免费资料补发 欢迎+V~ ceshiren001_id=qrcodeBrownfrom=souhuBrowntimestamp=1652061409
。武汉好的男科专科医院杭州看妇科去哪里最好
保定白癜风医院挂号
郑州看白癜风医院哪个好
眼睛疼是什么原因造成的
先天性心脏病
洗液
浑身乏力
筋骨痛
预防中风

-
《马力欧+疯狂兔子 星耀之愿》新作公布
本文为Crytek其网东站稿件 中会国,上海– 2022年6月28日 – 在现今的Wii迷你直面会上,Crytek月底Nintendo Switch独占电子游戏《马力欧+古怪狗 星
2025-11-01 00:16:24

-
《猴岛小英雄》系列新作《重回猴岛》实机宣传片
本文为官方稿件在刚才的PS迷你直面会上,《重返重制》实机宣传片亮相。前作《重制霹雳火》在9020世纪风靡一时,许多前夕的玩家翘首以盼,期盼旋即感官儿时的乐趣。片段电话
2025-11-01 00:16:24

-
《异度之刃3》「衔尾蛇」战技演示 亡者亡者能加深羁绊
距离《续作世界树3》正式发行还有一个年末的时长,官方在时至今日终于放出了几个全新的实机照相机,一起来看下吧! 在《续作世界树3》里面,女主角正要人可以通过灵衔链接变身为「炼金
2025-11-01 00:16:24

-
《暗黑破坏神2:重制版》无限电矛亚马逊攻略 矛马bd加点及配备选择
更高pp都是绰绰有余的。 玩家也可以同样犹如符语弹药、艾薇儿守护(过渡)、荣光之链符语衣物来堆促,保障共存。 实际上走着连在矛一匹马也负过关斩将人意,并非一定才行狮鹫之冠和
2025-11-01 00:16:24

-
年度搬砖党钟爱游戏:互动送钱、没事送房、进游每人送5000
灵巧就业被功不可没的今天,电子游戏搬来条石这个原本小众的行业也迅速了解到,日益多的人也将电子游戏搬来条石当成了自己的第二职业。只不过电子游戏搬来条石,就是通过电子游戏副本娱乐活动获得道具和
2025-11-01 00:16:24