- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的用户个人资料页面上的应用程序中,用户具有:
Name: XYZ
Age: ##
Address: st.XYZ
等等...
当某个元素丢失(例如年龄)时,其他行会取代它,因此我无法对元素的 xpath
进行硬编码。我想要的是:
我想(打印)提取整个表数据并与实际数据进行比较。因此,当我要求“名称”作为键时,它应该将其前面的单元格值作为键的值。
我尝试过的:我能够获取保持 td
固定的 tr
标签元素的文本。但对于另一个用户来说,当缺少某些行时,它会失败或给出错误的值。
for (int i = 2; i < 58; i++) {
String actor_name = new WebDriverWait(driver, 30).until(ExpectedConditions
.elementToBeClickable(By.xpath(first_part+i+part_two))).getText();
System.out.print("\n"+"S.no. "+(i-1)+" "+actor_name);
try {
driver.findElement(By.xpath(first_part+i+part_two)).click();
new WebDriverWait(driver, 30).until(ExpectedConditions
.elementToBeClickable(By.partialLinkText("bio"))).click();
//driver.findElement(By.partialLinkText("bio")).click();
} catch (Exception e) {
// TODO: handle exception
System.out.println("Not a link");
}
Thread.sleep(5000);
System.out.print(" "+driver.findElement(By.xpath("//*[@id='overviewTable']/tbody/tr[3]/td[2]")).getText());
driver.get("http://www.imdb.com/title/tt2310332/fullcredits?ref_=tt_cl_sm#cast");
}
以上代码适用于 this 上的前 3 位 Actor 页,但第四页失败,因为生物页上没有缺失一行。
在个人简介页面上,表中有两列,一列具有属性,另一列具有其值。我想创建一个包含键值对的集合,其中 key
作为属性(左列的值),其 value
作为右列的值。这样我就可以通过提及属性值来自由地获取值。
我正在使用JAVA编写脚本。
最佳答案
您可以尝试使用以下代码吗?如果您有任何疑问,请向我提出...
driver.get("http://www.imdb.com/title/tt2310332/fullcredits?ref_=tt_cl_sm#cast");
String height = "";
String actorName = "";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
List<WebElement> lstUrls = driver.findElements(By
.xpath("//span[@itemprop='name']/..")); // all a tags
List<String> urls = new ArrayList<>();
for (WebElement webElement : lstUrls) {
urls.add(webElement.getAttribute("href")); // saving all hrefs attached in each a tag
}
Map<String, String> actorHeightData = new HashMap<String, String>();
for (String string : urls) {
driver.get(string);
actorName = driver.findElement(
By.xpath(".//*[@id='overview-top']/h1/span")).getText(); // Getting actor's name
driver.findElement(By.xpath("//a[text()='Biography']")).click(); // Clicking Biography
try {
height = driver.findElement(
By.xpath("//td[.='Height']/following-sibling::td"))
.getText(); // Getting height
} catch (NoSuchElementException nsee) {
height = ""; // If height not found
}
actorHeightData.put(actorName, height); // Adding to map
}
关于java - 如何在java集合hashmap或hashset或arraylist中存储webtable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27927203/
在我们的应用程序中,我有一个场景可以单击特定用户的编辑图标。所以目前我正在使用以下代码: 下面是编辑按钮的html源代码:
WebTable 嵌入到网页中以实现自动化。它有很多字段,因此有自己的水平滚动条(滚动条特定于 WebTable,而不是整个网页)。当我尝试交互/单击当前因滚动条而隐藏的 Web 元素时,会导致 No
Listtable=driver.findElements(By.xpath("//*[@id=\"prodDetails\"]/div[2]/div[1]/div/div[2]/div/div/ta
Siebel Web 应用程序有一个包含大约 200K 用户记录的表,但一次显示 10 条记录。有一个搜索功能可以获取一个特定的用户 ID 并显示在同一表结构中。因此,当我搜索一个用户 ID 时,它只
错误是:给定的选择器 table[class='stats_table data_grid'] tbody tr [0] td [0] 无效或不会生成 WebElement。发生以下错误:Invali
我正在尝试访问一个非常静态的网络表并获取每一行的值。我收到错误,代码是: import java.util.List; import java.util.concurrent.TimeUnit; im
我很难单击 Web 表中的特定行。我的代码找到正确的行,但是当我使用 Child Item 方法时,它提示找不到对象。这是我的代码: Desc = "Record to click" If Brows
我想以 Angular 自动化 webtable。这是网站-http://demo.automationtesting.in/WebTable.html 我想捕获所有行的所有记录。这是我尝试过的- L
我正在尝试从损益表中提取数据,url 是 http://finance.yahoo.com/q/is?s=LMT+Income+Statement&annual 我无法使用 browser.table
我有以下动态网络表 (checkbox) ID_No country_code Date Time UserName FileName
我们的应用程序包含网络元素表。我的目的是检查目录是否按字母顺序排列。 WebDriver d=new FirefoxDriver(); d.get("http://www.javatpoint.com
如何在使用 Java 的 webdriver 中使用 xpath 获取 webtable 中的确切行数。使用下面的 xpath 我也可以用标题计数。我不希望计数包含标题行并获取网络表的计数。 //ta
Order total $284.96 有人可以帮我解决这个问题吗?我想在运行时捕获文本 $284.96。而且我不想使用绝对 Xpath(//table/tfoot
想要获取表 Xpath 中存在的行数,我传递的是 .//*[@id='ctl00_mainContent_Tabs_TabPanelEmploymentAdmin_EmploymentAdmin_gr
:) 我正在尝试使用 Selenium-WebDriver 和 Java 将 web 表数据写入 excel 文件。通过下面的代码,我只能打印 excel 中的最后一列数据,但不能打印整个 webta
我是一名优秀的程序员,十分优秀!