GVKun编程网logo

如何使用Selenium WebDriver检查404的URL?(selenium检测页面加载完成)

4

针对如何使用SeleniumWebDriver检查404的URL?和selenium检测页面加载完成这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展css–如何使用SeleniumWebDr

针对如何使用Selenium WebDriver检查404的URL?selenium检测页面加载完成这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展css – 如何使用Selenium WebDriver,Java按文本选择Web元素、selenium – PHPUnit和WebDriver – 如何获取当前的URL?、selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?、selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接等相关知识,希望可以帮助到你。

本文目录一览:

如何使用Selenium WebDriver检查404的URL?(selenium检测页面加载完成)

如何使用Selenium WebDriver检查404的URL?(selenium检测页面加载完成)

使用Selenium WebDriver检查URL GET是否成功返回(HTTP 200)的最便捷方法是什么?

在这种特殊情况下,我对验证当前页面的图像是否损坏最感兴趣。

答案1

小编典典

试试这个:

List<WebElement> allImages = driver.findElements(By.tagName("img"));for (WebElement image : allImages) {  boolean loaded = ((JavaScriptExecutor) driver).executeScript(      "return arguments[0].complete", image);  if (!loaded) {    // Your error handling here.  }}

css – 如何使用Selenium WebDriver,Java按文本选择Web元素

css – 如何使用Selenium WebDriver,Java按文本选择Web元素

我需要在网页上找到以下元素
<div>noreply@somedomain.com</div>

我正在使用Java编写Selenium WebDriver.
需要这个元素的确切CSS选择器才能将它与driver.findElement(By.cssSelector(the-selector).click命令一起使用.
div [class =’b-datalist__item__addr’]选择器不够好,因为我必须根据noreply@somedomain.com搜索不是链接的文本,所以我不能使用findElement(By.linkText())命令.

解决方法

Css不允许您进行基于文本的搜索. xpath是唯一的选择.
//div[contains(text(),'noreply@somedomain.com')]

selenium – PHPUnit和WebDriver – 如何获取当前的URL?

selenium – PHPUnit和WebDriver – 如何获取当前的URL?

场景:
我打开www.google.com,输入一些关键字并点击搜索按钮.
现在我进入结果页面.我想获取此结果页面的当前URL,包括查询参数.

我在这里找到了方法getbrowserUrl()phpunit-selenium on github.第410行

但是这个方法返回了我在setUp函数中设置的值.

public function setUp(){
$this->setbrowser(testConfig::$browserName);
$this->setbrowserUrl('http://www.google.com/');
}

public function testGoogleSearch(){
$this->url('');
//input some keywords
.......
//click search button
.......
//want to get the url of result page
$resultUrl= $this->getbrowserUrl();
echo $resultUrl;
}

我有一个字符串’http://www.google.com/‘而不是结果页面的整个网址.
请帮帮我,谢谢!

答案是:
$currentURL = $this->url();

我也问过这个问题here

感谢@jaruzafa

selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?

selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?

对于以下元素,如何使用css选择器通过td的值找到它?在这种情况下,它是“独特的文本”

<tdcolspan="3">
   unique text
</td>

解决方法

你可以使用这样的东西,

使用CSS Selector,

By.cssSelector("td[][value='unique text']");

有关使用css选择器的更多信息,请参见See here

selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接

selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接

我有10个不同的页面包含不同的链接.如何点击所有链接?

条件是:
i)我不知道有多少链接
ii)我想计算并点击每个链接

请建议我使用Selenium WebDriver脚本.

解决方法

捕获并导航网页上的所有链接

迭代器和高级for循环可以做类似的工作;但是,循环内页面导航的不一致性可以使用数组概念来解决.

private static String[] links = null;
private static int linksCount = 0;

driver.get("www.xyz.com");
List<WebElement> linksize = driver.findElements(By.tagName("a")); 
linksCount = linksize.size();
System.out.println("Total no of links Available: "+linksCount);
links= new String[linksCount];
System.out.println("List of links Available: ");  
// print all the links from webpage 
for(int i=0;i<linksCount;i++)
{
links[i] = linksize.get(i).getAttribute("href");
System.out.println(all_links_webpage.get(i).getAttribute("href"));
} 
// navigate to each Link on the webpage
for(int i=0;i<linksCount;i++)
{
driver.navigate().to(links[i]);
Thread.sleep(3000);
}

1 |捕获特定帧| class | id下的所有链接并逐个导航

driver.get("www.xyz.com");  
WebElement element = driver.findElement(By.id(Value));
List<WebElement> elements = element.findElements(By.tagName("a"));
int sizeOfAllLinks = elements.size();
System.out.println(sizeOfAllLinks);
for(int i=0; i<sizeOfAllLinks ;i++)
{
System.out.println(elements.get(i).getAttribute("href"));
}   
for (int index=0; index<sizeOfAllLinks; index++ ) {
getElementWithIndex(By.tagName("a"),index).click();
driver.navigate().back();
}

public WebElement getElementWithIndex(By by,int index) {
WebElement element = driver.findElement(By.id(Value));
List<WebElement> elements = element.findElements(By.tagName("a")); 
return elements.get(index);
}

2 |捕获所有链接[替代方法]

Java的

driver.get(baseUrl + "https://www.google.co.in");
List<WebElement> all_links_webpage = driver.findElements(By.tagName("a")); 
System.out.println("Total no of links Available: " + all_links_webpage.size());
int k = all_links_webpage.size();
System.out.println("List of links Available: ");
for(int i=0;i<k;i++)
{
if(all_links_webpage.get(i).getAttribute("href").contains("google"))
{
String link = all_links_webpage.get(i).getAttribute("href");
System.out.println(link);
}   
}

Python

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.google.co.in/")
list_links = driver.find_elements_by_tag_name('a')

for i in list_links:
        print i.get_attribute('href')

driver.quit()

关于如何使用Selenium WebDriver检查404的URL?selenium检测页面加载完成的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于css – 如何使用Selenium WebDriver,Java按文本选择Web元素、selenium – PHPUnit和WebDriver – 如何获取当前的URL?、selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?、selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接等相关内容,可以在本站寻找。

本文标签: