【发布时间】:2019-06-12 13:13:01
【问题描述】:
@DebanjanB - 你好。我已经使用 selenium chrome 驱动程序自动下载网站。但是,当我在无头模式下运行 chrome 时,它无法找到要单击以下载文件的复选框。你能帮我解决这个问题吗?
下面是我的代码:
import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.By
import scala.collection.mutable.HashMap
object selen extends App{
val chromeOptions = new ChromeOptions()
chromeOptions.addArguments("--headless")
new ChromeDriver(chromeOptions)
val driver = new ChromeDriver(chromeOptions)
driver.get("url")
driver.findElement(By.id("isc_S")).sendKeys("Username")
driver.findElement(By.id("isc_V")).sendKeys("Password")
driver.findElement(By.id("isc_Z")).click
println("Logged in")
driver.manage.window.maximize
Thread.sleep(5000);
driver.findElement(By.cssSelector("#isc_36 > table > tbody > tr > td")).click()
println("clicked Dashboard")
Thread.sleep(5000);
var count = 1
for (i <- 1 to 9) {
for (j <- 1 to 5) {
driver.findElement(By.xpath("//*[@id=\"isc_5Ptable\"]/tbody/tr[" + count + "]/td[1]/div/span")).click()
driver.findElement(By.id("isc_64")).click()
Thread.sleep(4000)
driver.findElement(By.xpath("//*[@id=\"isc_5Ptable\"]/tbody/tr[" + count + "]/td[1]/div/span")).click()
count+=1
}
var count2 = 10
while(count2 > 0)
{
driver.findElement(By.xpath("//*[@id=\"isc_5Q\"]/img[3]")).click()
count2 -= 1
}
}
driver.close()
}
以下是未位于无头 chrome 驱动程序中的复选框的 html:
span style="display:inline-block;background-size:100% 100%;background-image:url("https://ford-ddlive.clifford-thames.com/datadistribution/sc/skins/ford/images/DynamicForm/unchecked.png");width:13px;height:13px;vertical-align:text-top;margin-left:2px;margin-right:2px" eventpart="valueicon">
【问题讨论】:
-
@MateMrše - 我已经更新了。
-
@AnandNautiyal 只有
<span>可能还不够,您需要使用更多的outerHTML 来解决问题。
标签: scala selenium selenium-webdriver selenium-chromedriver